From 8edfde96dcff049b80159319eb91c35e5800437a Mon Sep 17 00:00:00 2001 From: UpstreamData Date: Mon, 24 Jan 2022 16:31:51 -0700 Subject: [PATCH] cleaned the board utility a bit --- tools/bad_board_util/__init__.py | 1 + tools/bad_board_util/func/files.py | 22 ----------- tools/bad_board_util/func/miners.py | 20 ---------- tools/bad_board_util/func/parse_data.py | 50 ------------------------- tools/bad_board_util/ui.py | 4 +- 5 files changed, 2 insertions(+), 95 deletions(-) delete mode 100644 tools/bad_board_util/func/parse_data.py diff --git a/tools/bad_board_util/__init__.py b/tools/bad_board_util/__init__.py index 4297e444..46a7bf94 100644 --- a/tools/bad_board_util/__init__.py +++ b/tools/bad_board_util/__init__.py @@ -13,5 +13,6 @@ def main(): loop = asyncio.new_event_loop() loop.run_until_complete(ui()) + if __name__ == '__main__': main() diff --git a/tools/bad_board_util/func/files.py b/tools/bad_board_util/func/files.py index f9de5dd7..e49440ff 100644 --- a/tools/bad_board_util/func/files.py +++ b/tools/bad_board_util/func/files.py @@ -44,25 +44,3 @@ async def export_iplist(file_location, ip_list_selected): for item in window['ip_table'].Values: await file.write(str(item[0]) + "\n") await update_ui_with_data("status", "") - - -async def import_config_file(file_location): - await update_ui_with_data("status", "Importing") - if not os.path.exists(file_location): - return - else: - async with aiofiles.open(file_location, mode='r') as file: - config = await file.read() - await update_ui_with_data("config", await bos_config_convert(toml.loads(config))) - await update_ui_with_data("status", "") - - -async def export_config_file(file_location, config): - await update_ui_with_data("status", "Exporting") - config = toml.loads(config) - config['format']['generator'] = 'upstream_config_util' - config['format']['timestamp'] = int(time.time()) - config = toml.dumps(config) - async with aiofiles.open(file_location, mode='w+') as file: - await file.write(await general_config_convert_bos(config)) - await update_ui_with_data("status", "") diff --git a/tools/bad_board_util/func/miners.py b/tools/bad_board_util/func/miners.py index bea01d1a..bb9a0751 100644 --- a/tools/bad_board_util/func/miners.py +++ b/tools/bad_board_util/func/miners.py @@ -36,26 +36,6 @@ async def scan_network(network): await update_ui_with_data("status", "") -async def miner_light(ips: list): - await asyncio.gather(*[flip_light(ip) for ip in ips]) - - -async def flip_light(ip): - ip_list = window['ip_table'].Widget - miner = await miner_factory.get_miner(ip) - index = [item[0] for item in window["ip_table"].Values].index(ip) - index_tags = ip_list.item(index)['tags'] - if "light" not in index_tags: - ip_list.item(index, tags=([*index_tags, "light"])) - window['ip_table'].update(row_colors=[(index, "white", "red")]) - await miner.fault_light_on() - else: - index_tags.remove("light") - ip_list.item(index, tags=index_tags) - window['ip_table'].update(row_colors=[(index, "black", "white")]) - await miner.fault_light_off() - - async def refresh_data(ip_list: list): await update_ui_with_data("status", "Getting Data") await update_ui_with_data("hr_total", "") diff --git a/tools/bad_board_util/func/parse_data.py b/tools/bad_board_util/func/parse_data.py deleted file mode 100644 index 385b6f5b..00000000 --- a/tools/bad_board_util/func/parse_data.py +++ /dev/null @@ -1,50 +0,0 @@ -from API import APIError - - -# noinspection PyPep8 -async def safe_parse_api_data(data: dict or list, *path: str or int, idx: int = 0): - path = [*path] - if len(path) == idx+1: - if isinstance(path[idx], str): - if isinstance(data, dict): - if path[idx] in data.keys(): - return data[path[idx]] - elif isinstance(path[idx], int): - if isinstance(data, list): - if len(data) > path[idx]: - return data[path[idx]] - else: - if isinstance(path[idx], str): - if isinstance(data, dict): - if path[idx] in data.keys(): - parsed_data = await safe_parse_api_data(data[path[idx]], idx=idx+1, *path) - # has to be == None, or else it fails on 0.0 hashrates - # noinspection PyPep8 - if parsed_data == None: - raise APIError(f"Data parsing failed on path index {idx} - \nKey: {path[idx]} \nData: {data}") - return parsed_data - else: - if idx == 0: - raise APIError(f"Data parsing failed on path index {idx} - \nKey: {path[idx]} \nData: {data}") - return False - else: - if idx == 0: - raise APIError(f"Data parsing failed on path index {idx} - \nKey: {path[idx]} \nData: {data}") - return False - elif isinstance(path[idx], int): - if isinstance(data, list): - if len(data) > path[idx]: - parsed_data = await safe_parse_api_data(data[path[idx]], idx=idx+1, *path) - # has to be == None, or else it fails on 0.0 hashrates - # noinspection PyPep8 - if parsed_data == None: - raise APIError(f"Data parsing failed on path index {idx} - \nKey: {path[idx]} \nData: {data}") - return parsed_data - else: - if idx == 0: - raise APIError(f"Data parsing failed on path index {idx} - \nKey: {path[idx]} \nData: {data}") - return False - else: - if idx == 0: - raise APIError(f"Data parsing failed on path index {idx} - \nKey: {path[idx]} \nData: {data}") - return False diff --git a/tools/bad_board_util/ui.py b/tools/bad_board_util/ui.py index 22660a5c..191fc7e1 100644 --- a/tools/bad_board_util/ui.py +++ b/tools/bad_board_util/ui.py @@ -3,7 +3,7 @@ import sys import PySimpleGUI as sg from tools.bad_board_util.layout import window -from tools.bad_board_util.func.miners import refresh_data, scan_and_get_data, miner_light +from tools.bad_board_util.func.miners import refresh_data, scan_and_get_data from tools.bad_board_util.func.files import import_iplist, export_iplist from tools.bad_board_util.func.ui import sort_data, copy_from_table @@ -40,8 +40,6 @@ async def ui(): window["ip_table"].update(select_rows=()) else: window["ip_table"].update(select_rows=([row for row in range(len(window["ip_table"].Values))])) - if event == 'light': - asyncio.create_task(miner_light([window['ip_table'].Values[item][0] for item in value['ip_table']])) if event == "import_iplist": asyncio.create_task(import_iplist(value["file_iplist"])) if event == "export_iplist":