From e0dd2ee1f364ba720c76e808eb4690f3c8e5cde4 Mon Sep 17 00:00:00 2001 From: UpstreamData Date: Thu, 7 Oct 2021 16:49:36 -0600 Subject: [PATCH] added unknown miner type --- main.py | 4 +++- miners/__init__.py | 2 +- miners/miner_factory.py | 3 ++- miners/unknown_miner.py | 9 +++++++++ network/__init__.py | 2 +- 5 files changed, 16 insertions(+), 4 deletions(-) create mode 100644 miners/unknown_miner.py diff --git a/main.py b/main.py index 7607dd89..d91f586f 100644 --- a/main.py +++ b/main.py @@ -6,7 +6,9 @@ import asyncio async def main(): miner_network = MinerNetwork("192.168.1.1") - await miner_network.scan_network_for_miners() + miner_list = await miner_network.scan_network_for_miners() + print(miner_list) + if __name__ == '__main__': asyncio.get_event_loop().run_until_complete(main()) diff --git a/miners/__init__.py b/miners/__init__.py index 36545c8f..ea8cea48 100644 --- a/miners/__init__.py +++ b/miners/__init__.py @@ -7,4 +7,4 @@ import ipaddress class BaseMiner: def __init__(self, ip: str, api: BOSMinerAPI or CGMinerAPI or BMMinerAPI): self.ip = ipaddress.ip_address(ip) - self.api = api \ No newline at end of file + self.api = api diff --git a/miners/miner_factory.py b/miners/miner_factory.py index cce128c1..bbaabfa2 100644 --- a/miners/miner_factory.py +++ b/miners/miner_factory.py @@ -1,6 +1,7 @@ from miners.bosminer import BOSminer from miners.bmminer import BMMiner from miners.cgminer import CGMiner +from miners.unknown_miner import UnknownMiner from API import APIError import asyncio import ipaddress @@ -19,7 +20,7 @@ class MinerFactory: return CGMiner(str(ip)) elif version == "BMMiner": return BMMiner(str(ip)) - return f"Unknown: {str(ip)}" + return UnknownMiner(str(ip)) async def _get_version_data(self, ip: ipaddress.ip_address): try: diff --git a/miners/unknown_miner.py b/miners/unknown_miner.py new file mode 100644 index 00000000..8c48a1bc --- /dev/null +++ b/miners/unknown_miner.py @@ -0,0 +1,9 @@ +import ipaddress + + +class UnknownMiner(): + def __init__(self, ip: str): + self.ip = ipaddress.ip_address(ip) + + def __repr__(self): + return f"Unknown: {str(self.ip)}" diff --git a/network/__init__.py b/network/__init__.py index 4da6f630..369531ef 100644 --- a/network/__init__.py +++ b/network/__init__.py @@ -38,7 +38,7 @@ class MinerNetwork: for miner_ip in miner_ips: create_miners_tasks.append(self.miner_factory.get_miner(miner_ip)) miners = await asyncio.gather(*create_miners_tasks) - print(miners) + return miners async def ping_miner(self, ip: ipaddress.ip_address):