added a bidirectional sort on table headers and changed to an "Open in web" button to make it less convoluted and buggy to sort the table
This commit is contained in:
@@ -31,18 +31,27 @@ async def sort_data(index: int or str):
|
|||||||
# wattage
|
# wattage
|
||||||
if re.match("[0-9]* W", data_list[0][index]):
|
if re.match("[0-9]* W", data_list[0][index]):
|
||||||
new_list = sorted(data_list, key=lambda x: int(x[index].replace(" W", "")))
|
new_list = sorted(data_list, key=lambda x: int(x[index].replace(" W", "")))
|
||||||
|
if data_list == new_list:
|
||||||
|
new_list = sorted(data_list, reverse=True, key=lambda x: int(x[index].replace(" W", "")))
|
||||||
|
|
||||||
# hashrate
|
# hashrate
|
||||||
elif re.match("[0-9]*\.?[0-9]* TH\/s", data_list[0][index]):
|
elif re.match("[0-9]*\.?[0-9]* TH\/s", data_list[0][index]):
|
||||||
new_list = sorted(data_list, key=lambda x: float(x[index].replace(" TH/s", "")))
|
new_list = sorted(data_list, key=lambda x: float(x[index].replace(" TH/s", "")))
|
||||||
|
if data_list == new_list:
|
||||||
|
new_list = sorted(data_list, reverse=True, key=lambda x: float(x[index].replace(" TH/s", "")))
|
||||||
|
|
||||||
# ip addresses
|
# ip addresses
|
||||||
elif re.match("^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)",
|
elif re.match("^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)",
|
||||||
data_list[0][index]):
|
data_list[0][index]):
|
||||||
new_list = sorted(data_list, key=lambda x: ipaddress.ip_address(x[index]))
|
new_list = sorted(data_list, key=lambda x: ipaddress.ip_address(x[index]))
|
||||||
|
if data_list == new_list:
|
||||||
|
new_list = sorted(data_list, reverse=True, key=lambda x: ipaddress.ip_address(x[index]))
|
||||||
|
|
||||||
# everything else, hostname and user
|
# everything else, hostname and user
|
||||||
else:
|
else:
|
||||||
new_list = sorted(data_list, key=lambda x: x[index])
|
new_list = sorted(data_list, key=lambda x: x[index])
|
||||||
|
if data_list == new_list:
|
||||||
|
new_list = sorted(data_list, reverse=True, key=lambda x: x[index])
|
||||||
|
|
||||||
await update_ui_with_data("ip_table", new_list)
|
await update_ui_with_data("ip_table", new_list)
|
||||||
await update_ui_with_data("status", "")
|
await update_ui_with_data("status", "")
|
||||||
|
|||||||
@@ -16,7 +16,10 @@ layout = [
|
|||||||
[sg.Column([
|
[sg.Column([
|
||||||
[sg.Column([
|
[sg.Column([
|
||||||
[sg.Text("IP List:", pad=(0, 0)), sg.Text("", key="ip_count", pad=(0, 0), size=(3, 1)),
|
[sg.Text("IP List:", pad=(0, 0)), sg.Text("", key="ip_count", pad=(0, 0), size=(3, 1)),
|
||||||
sg.Button('ALL', key="select_all_ips"), sg.Text("", pad=(40, 0))],
|
sg.Button('ALL', key="select_all_ips"),
|
||||||
|
sg.Button("GET DATA", key='get_data'),
|
||||||
|
sg.Button("OPEN IN WEB", key='open_in_web')],
|
||||||
|
|
||||||
[sg.Text("HR Total: ", pad=(0, 0)), sg.Text("", key="hr_total")],
|
[sg.Text("HR Total: ", pad=(0, 0)), sg.Text("", key="hr_total")],
|
||||||
])],
|
])],
|
||||||
[sg.Table(
|
[sg.Table(
|
||||||
@@ -32,7 +35,6 @@ layout = [
|
|||||||
size=(105, 27),
|
size=(105, 27),
|
||||||
expand_x=True,
|
expand_x=True,
|
||||||
enable_click_events=True,
|
enable_click_events=True,
|
||||||
bind_return_key=True
|
|
||||||
)]
|
)]
|
||||||
]),
|
]),
|
||||||
sg.Column([
|
sg.Column([
|
||||||
|
|||||||
@@ -22,9 +22,9 @@ async def ui():
|
|||||||
if event[0] == 'ip_table':
|
if event[0] == 'ip_table':
|
||||||
if event[2][0] == -1:
|
if event[2][0] == -1:
|
||||||
await sort_data(event[2][1])
|
await sort_data(event[2][1])
|
||||||
if event == 'ip_table':
|
if event == 'open_in_web':
|
||||||
if value["ip_table"]:
|
for row in value["ip_table"]:
|
||||||
webbrowser.open("http://" + window["ip_table"].Values[value["ip_table"][0]][0])
|
webbrowser.open("http://" + window["ip_table"].Values[row][0])
|
||||||
if event == 'scan':
|
if event == 'scan':
|
||||||
if len(value['miner_network'].split("/")) > 1:
|
if len(value['miner_network'].split("/")) > 1:
|
||||||
network = value['miner_network'].split("/")
|
network = value['miner_network'].split("/")
|
||||||
@@ -58,8 +58,6 @@ async def ui():
|
|||||||
await generate_config_ui()
|
await generate_config_ui()
|
||||||
if event == "__TIMEOUT__":
|
if event == "__TIMEOUT__":
|
||||||
await asyncio.sleep(0)
|
await asyncio.sleep(0)
|
||||||
else:
|
|
||||||
print(event)
|
|
||||||
|
|
||||||
|
|
||||||
async def generate_config_ui():
|
async def generate_config_ui():
|
||||||
|
|||||||
Reference in New Issue
Block a user