improved bosminer get config
This commit is contained in:
4
main.py
4
main.py
@@ -1,16 +1,12 @@
|
|||||||
from network import MinerNetwork
|
from network import MinerNetwork
|
||||||
from miners.bosminer import BOSminer
|
from miners.bosminer import BOSminer
|
||||||
import asyncio
|
import asyncio
|
||||||
import datetime
|
|
||||||
|
|
||||||
|
|
||||||
async def main():
|
async def main():
|
||||||
miner_network = MinerNetwork('192.168.1.1')
|
miner_network = MinerNetwork('192.168.1.1')
|
||||||
data = await miner_network.scan_network_for_miners()
|
data = await miner_network.scan_network_for_miners()
|
||||||
print(data)
|
|
||||||
start = datetime.datetime.now()
|
|
||||||
config = await asyncio.gather(*[miner.get_config() for miner in data if isinstance(miner, BOSminer)])
|
config = await asyncio.gather(*[miner.get_config() for miner in data if isinstance(miner, BOSminer)])
|
||||||
print(datetime.datetime.now() - start)
|
|
||||||
print(config)
|
print(config)
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
|
|||||||
@@ -8,13 +8,14 @@ class BOSminer(BaseMiner):
|
|||||||
def __init__(self, ip: str):
|
def __init__(self, ip: str):
|
||||||
api = BOSMinerAPI(ip)
|
api = BOSMinerAPI(ip)
|
||||||
super().__init__(ip, api)
|
super().__init__(ip, api)
|
||||||
|
self.config = {}
|
||||||
|
|
||||||
def __repr__(self):
|
def __repr__(self):
|
||||||
return f"BOSminer: {str(self.ip)}"
|
return f"BOSminer: {str(self.ip)}"
|
||||||
|
|
||||||
async def get_ssh_connection(self, username: str, password: str) -> asyncssh.connect:
|
async def get_ssh_connection(self, username: str, password: str) -> asyncssh.connect:
|
||||||
"""Create a new asyncssh connection"""
|
"""Create a new asyncssh connection"""
|
||||||
conn = await asyncssh.connect(self.ip, known_hosts=None, username=username, password=password,
|
conn = await asyncssh.connect(str(self.ip), known_hosts=None, username=username, password=password,
|
||||||
server_host_key_algs=['ssh-rsa'])
|
server_host_key_algs=['ssh-rsa'])
|
||||||
# return created connection
|
# return created connection
|
||||||
return conn
|
return conn
|
||||||
@@ -59,4 +60,5 @@ class BOSminer(BaseMiner):
|
|||||||
async with conn.start_sftp_client() as sftp:
|
async with conn.start_sftp_client() as sftp:
|
||||||
async with sftp.open('/etc/bosminer.toml') as file:
|
async with sftp.open('/etc/bosminer.toml') as file:
|
||||||
toml_data = toml.loads(await file.read())
|
toml_data = toml.loads(await file.read())
|
||||||
|
self.config = toml_data
|
||||||
return toml_data
|
return toml_data
|
||||||
|
|||||||
@@ -15,7 +15,6 @@ class MinerFactory:
|
|||||||
if version_data:
|
if version_data:
|
||||||
version = list(version_data['VERSION'][0].keys())
|
version = list(version_data['VERSION'][0].keys())
|
||||||
if version:
|
if version:
|
||||||
print(version_data)
|
|
||||||
if "BOSminer" in version or "BOSminer+" in version:
|
if "BOSminer" in version or "BOSminer+" in version:
|
||||||
return BOSminer(str(ip))
|
return BOSminer(str(ip))
|
||||||
elif version == "CGMiner":
|
elif version == "CGMiner":
|
||||||
|
|||||||
Reference in New Issue
Block a user