diff --git a/miners/bmminer.py b/miners/bmminer.py index f5131be4..190f39c2 100644 --- a/miners/bmminer.py +++ b/miners/bmminer.py @@ -5,11 +5,22 @@ from miners import BaseMiner class BMMiner(BaseMiner): def __init__(self, ip: str) -> None: api = BMMinerAPI(ip) + self.model = None super().__init__(ip, api) def __repr__(self) -> str: return f"BMMiner: {str(self.ip)}" + async def get_model(self): + if self.model: + return self.model + version_data = await self.api.devdetails() + if version_data: + self.model = version_data["DEVDETAILS"][0]["Model"].replace("Antminer ", "") + return self.model + return None + + async def get_hostname(self) -> str: return "BMMiner Unknown" diff --git a/miners/bosminer.py b/miners/bosminer.py index 326802fd..afd2e6ab 100644 --- a/miners/bosminer.py +++ b/miners/bosminer.py @@ -9,6 +9,7 @@ class BOSminer(BaseMiner): def __init__(self, ip: str) -> None: api = BOSMinerAPI(ip) super().__init__(ip, api) + self.model = None self.config = None self.uname = 'root' self.pwd = 'admin' @@ -87,9 +88,12 @@ class BOSminer(BaseMiner): return "BOSMiner Unknown" async def get_model(self): + if self.model: + return self.model version_data = await self.api.devdetails() if version_data: - return version_data["DEVDETAILS"][0]["Model"].replace("Antminer ", "") + self.model = version_data["DEVDETAILS"][0]["Model"].replace("Antminer ", "") + return self.model return None async def send_config(self, yaml_config) -> None: diff --git a/miners/btminer.py b/miners/btminer.py index f5b2c825..99d8229c 100644 --- a/miners/btminer.py +++ b/miners/btminer.py @@ -6,11 +6,21 @@ from API import APIError class BTMiner(BaseMiner): def __init__(self, ip: str) -> None: api = BTMinerAPI(ip) + self.model = None super().__init__(ip, api) def __repr__(self) -> str: return f"BTMiner: {str(self.ip)}" + async def get_model(self): + if self.model: + return self.model + version_data = await self.api.devdetails() + if version_data: + self.model = version_data["DEVDETAILS"][0]["Model"].split("V")[0] + return self.model + return None + async def get_hostname(self) -> str: try: host_data = await self.api.get_miner_info() diff --git a/miners/cgminer.py b/miners/cgminer.py index 6da1c647..f35a743d 100644 --- a/miners/cgminer.py +++ b/miners/cgminer.py @@ -7,6 +7,7 @@ class CGMiner(BaseMiner): def __init__(self, ip: str) -> None: api = CGMinerAPI(ip) super().__init__(ip, api) + self.model = None self.config = None self.uname = 'root' self.pwd = 'admin' @@ -14,6 +15,15 @@ class CGMiner(BaseMiner): def __repr__(self) -> str: return f"CGMiner: {str(self.ip)}" + async def get_model(self): + if self.model: + return self.model + version_data = await self.api.devdetails() + if version_data: + self.model = version_data["DEVDETAILS"][0]["Model"].replace("Antminer ", "") + return self.model + return None + async def get_hostname(self) -> str: try: async with (await self._get_ssh_connection()) as conn: diff --git a/miners/whatsminer/M20.py b/miners/whatsminer/M20.py index 07e7c073..682fe048 100644 --- a/miners/whatsminer/M20.py +++ b/miners/whatsminer/M20.py @@ -1,26 +1,9 @@ -from API.btminer import BTMinerAPI -from miners import BaseMiner +from miners.btminer import BTMiner -class BTMinerM20(BaseMiner): +class BTMinerM20(BTMiner): def __init__(self, ip: str) -> None: - api = BTMinerAPI(ip) - super().__init__(ip, api) + super().__init__(ip) def __repr__(self) -> str: return f"M20 - BTMiner: {str(self.ip)}" - - async def get_hostname(self) -> str: - return "BTMiner Unknown" - - async def send_config(self): - return None # ignore for now - - async def restart_backend(self) -> None: - return None - - async def reboot(self) -> None: - return None - - async def get_config(self) -> None: - return None diff --git a/miners/whatsminer/M21.py b/miners/whatsminer/M21.py index 88523afd..84181ed6 100644 --- a/miners/whatsminer/M21.py +++ b/miners/whatsminer/M21.py @@ -1,26 +1,9 @@ -from API.btminer import BTMinerAPI -from miners import BaseMiner +from miners.btminer import BTMiner -class BTMinerM21(BaseMiner): +class BTMinerM21(BTMiner): def __init__(self, ip: str) -> None: - api = BTMinerAPI(ip) - super().__init__(ip, api) + super().__init__(ip) def __repr__(self) -> str: return f"M21 - BTMiner: {str(self.ip)}" - - async def get_hostname(self) -> str: - return "BTMiner Unknown" - - async def send_config(self): - return None # ignore for now - - async def restart_backend(self) -> None: - return None - - async def reboot(self) -> None: - return None - - async def get_config(self) -> None: - return None diff --git a/miners/whatsminer/M30.py b/miners/whatsminer/M30.py index 53a8ed85..170d0549 100644 --- a/miners/whatsminer/M30.py +++ b/miners/whatsminer/M30.py @@ -1,26 +1,9 @@ -from API.btminer import BTMinerAPI -from miners import BaseMiner +from miners.btminer import BTMiner -class BTMinerM30(BaseMiner): +class BTMinerM30(BTMiner): def __init__(self, ip: str) -> None: - api = BTMinerAPI(ip) - super().__init__(ip, api) + super().__init__(ip) def __repr__(self) -> str: - return f"M30 - BTMiner: {str(self.ip)}" - - async def get_hostname(self) -> str: - return "BTMiner Unknown" - - async def send_config(self): - return None # ignore for now - - async def restart_backend(self) -> None: - return None - - async def reboot(self) -> None: - return None - - async def get_config(self) -> None: - return None + return f"M30- BTMiner: {str(self.ip)}" diff --git a/miners/whatsminer/M31.py b/miners/whatsminer/M31.py index f5508ae9..05e54590 100644 --- a/miners/whatsminer/M31.py +++ b/miners/whatsminer/M31.py @@ -1,26 +1,9 @@ -from API.btminer import BTMinerAPI -from miners import BaseMiner +from miners.btminer import BTMiner -class BTMinerM31(BaseMiner): +class BTMinerM31(BTMiner): def __init__(self, ip: str) -> None: - api = BTMinerAPI(ip) - super().__init__(ip, api) + super().__init__(ip) def __repr__(self) -> str: return f"M31 - BTMiner: {str(self.ip)}" - - async def get_hostname(self) -> str: - return "BTMiner Unknown" - - async def send_config(self): - return None # ignore for now - - async def restart_backend(self) -> None: - return None - - async def reboot(self) -> None: - return None - - async def get_config(self) -> None: - return None diff --git a/miners/whatsminer/M32.py b/miners/whatsminer/M32.py index 396518a2..06c00343 100644 --- a/miners/whatsminer/M32.py +++ b/miners/whatsminer/M32.py @@ -1,26 +1,9 @@ -from API.btminer import BTMinerAPI -from miners import BaseMiner +from miners.btminer import BTMiner -class BTMinerM32(BaseMiner): +class BTMinerM32(BTMiner): def __init__(self, ip: str) -> None: - api = BTMinerAPI(ip) - super().__init__(ip, api) + super().__init__(ip) def __repr__(self) -> str: return f"M32 - BTMiner: {str(self.ip)}" - - async def get_hostname(self) -> str: - return "BTMiner Unknown" - - async def send_config(self): - return None # ignore for now - - async def restart_backend(self) -> None: - return None - - async def reboot(self) -> None: - return None - - async def get_config(self) -> None: - return None