added export csv button to export all data from the tool

This commit is contained in:
UpstreamData
2022-02-14 10:01:43 -07:00
parent d58aa871b5
commit 9bf9f8342a
3 changed files with 33 additions and 7 deletions

View File

@@ -30,6 +30,27 @@ async def import_iplist(file_location):
await update_ui_with_data("status", "")
async def export_csv(file_location, ip_list_selected):
await update_ui_with_data("status", "Exporting")
if not os.path.exists(file_location):
return
else:
if ip_list_selected is not None and not ip_list_selected == []:
async with aiofiles.open(file_location, mode='w') as file:
for item in ip_list_selected:
await file.write(str(
", ".join([str(part) for part in item])
) + "\n")
else:
async with aiofiles.open(file_location, mode='w') as file:
for item in window['ip_table'].Values:
await file.write(str(
", ".join([str(part) for part in item])
) + "\n")
await update_ui_with_data("status", "")
async def export_iplist(file_location, ip_list_selected):
await update_ui_with_data("status", "Exporting")
if not os.path.exists(file_location):

View File

@@ -16,18 +16,20 @@ layout = [
sg.InputText(key='miner_network', do_not_clear=True, size=(115, 1)),
sg.Button('Scan', key='scan')],
[sg.Text('IP List File:', size=(9, 1)),
sg.Input(key="file_iplist", do_not_clear=True, size=(115, 1)),
sg.FileBrowse(),
sg.Button('Import', key="import_iplist"),
sg.Button('Export', key="export_iplist")],
[sg.Text('Config File:', size=(9, 1)),
sg.Input(key="file_config", do_not_clear=True, size=(115, 1)),
sg.FileBrowse(),
sg.Button('Import', key="import_file_config"),
sg.Button('Export', key="export_file_config")],
[sg.Text('IP List File:', size=(9, 1)),
sg.Input(key="file_iplist", do_not_clear=True, size=(115, 1)),
sg.FileBrowse(),
sg.Button('Import', key="import_iplist"),
sg.Button('Export', key="export_iplist"),
sg.Button('Export CSV', key="export_csv")],
[sg.Column([
[sg.Column([

View File

@@ -5,7 +5,8 @@ import PySimpleGUI as sg
from tools.cfg_util.cfg_util_sg.layout import window, generate_config_layout
from tools.cfg_util.cfg_util_sg.func.miners import send_config, miner_light, refresh_data, generate_config, import_config, \
scan_and_get_data, restart_miners_backend, reboot_miners
from tools.cfg_util.cfg_util_sg.func.files import import_iplist, import_config_file, export_iplist, export_config_file
from tools.cfg_util.cfg_util_sg.func.files import import_iplist, \
import_config_file, export_iplist, export_config_file, export_csv
from tools.cfg_util.cfg_util_sg.func.ui import sort_data, copy_from_table
from network import MinerNetwork
@@ -54,6 +55,8 @@ async def ui():
asyncio.create_task(import_iplist(value["file_iplist"]))
if event == "export_iplist":
asyncio.create_task(export_iplist(value["file_iplist"], [window['ip_table'].Values[item][0] for item in value['ip_table']]))
if event == "export_csv":
asyncio.create_task(export_csv(value["file_iplist"], [window['ip_table'].Values[item] for item in value['ip_table']]))
if event == "send_config":
asyncio.create_task(send_config([window['ip_table'].Values[item][0] for item in value['ip_table']], value['config']))
if event == "import_file_config":