added a progress bar when scanning using a generator for scan and get_miner

This commit is contained in:
UpstreamData
2021-12-22 16:46:11 -07:00
parent 66d2b63ae6
commit 06f274ba9c
5 changed files with 72 additions and 9 deletions

View File

@@ -23,12 +23,34 @@ async def update_ui_with_data(key, data, append=False):
data = window[key].get_text() + data
window[key].update(data)
async def update_prog_bar(amount):
window["progress"].Update(amount)
async def scan_network(network):
await update_ui_with_data("status", "Scanning")
miners = await network.scan_network_for_miners()
window["ip_list"].update([str(miner.ip) for miner in miners])
await update_ui_with_data("ip_count", str(len(miners)))
network_size = len(network)
miner_generator = network.scan_network_generator()
print(2*network_size)
window["progress"].Update(0, max=2*network_size)
progress_bar_len = 0
miners = []
async for miner in miner_generator:
if miner:
miners.append(miner)
progress_bar_len += 1
asyncio.create_task(update_prog_bar(progress_bar_len))
progress_bar_len += network_size-len(miners)
asyncio.create_task(update_prog_bar(progress_bar_len))
get_miner_genenerator = miner_factory.get_miner_generator(miners)
all_miners = []
async for found_miner in get_miner_genenerator:
all_miners.append(found_miner)
progress_bar_len += 1
asyncio.create_task(update_prog_bar(progress_bar_len))
window["ip_list"].update([str(miner.ip) for miner in all_miners])
await update_ui_with_data("ip_count", str(len(all_miners)))
await update_ui_with_data("status", "")

File diff suppressed because one or more lines are too long