mirror of
https://github.com/aclist/dztui.git
synced 2026-11-05 17:45:10 +01:00
feat: remove history entries (WIP)
This commit is contained in:
1 parent
6b50b1e933
commit
4bccaec427
5 files changed
+56
-4
No files matched your search
@@ -1,5 +1,6 @@
|
||||
import re
|
||||
|
||||
from collections import deque
|
||||
from typing import Any, Optional, TYPE_CHECKING
|
||||
from warnings import deprecated
|
||||
|
||||
@@ -51,6 +52,7 @@ class ProxyModelManager:
|
||||
for record in self.control_model:
|
||||
if row[7] == record[7] and row[8] == record[8]:
|
||||
self.control_model.remove(record)
|
||||
break
|
||||
self.wipe_cache()
|
||||
self.filter(FilterMode.INITIAL, skip_cache=True)
|
||||
|
||||
@@ -59,6 +61,23 @@ class ProxyModelManager:
|
||||
self.proxy_model[treeiter][4] = playercount.players
|
||||
self.proxy_model[treeiter][6] = playercount.queue
|
||||
|
||||
# def append_to_history(self, row: list) -> None:
|
||||
# if len(self.control_model) == 10:
|
||||
# del self.control_model[0]
|
||||
# self.control_model.append(row)
|
||||
|
||||
# TODO: consolidate with remove_row_from_control()
|
||||
def remove_from_history(self, record: "Record") -> None:
|
||||
print(record)
|
||||
addr = f"{record.ip}:{record.gameport}"
|
||||
qport = record.qport
|
||||
for record in self.control_model:
|
||||
if addr == record[7] and qport == record[8]:
|
||||
self.control_model.remove(record)
|
||||
break
|
||||
self.wipe_cache()
|
||||
self.filter(FilterMode.INITIAL, skip_cache=True)
|
||||
|
||||
def clear_proxy_model(self) -> None:
|
||||
self.proxy_model.clear()
|
||||
|
||||
|
||||
@@ -211,6 +211,33 @@ class ServerModelManager:
|
||||
res = Servers.query_by_record(record)
|
||||
self._parse_single_record(res, delete=True)
|
||||
|
||||
def remove_from_history(self, record: Servers.Record) -> None:
|
||||
"""Fully unthreaded, just removes a row"""
|
||||
port = record.ip
|
||||
gport = record.gameport
|
||||
qport = record.qport
|
||||
|
||||
fqip = f"{port}:{gport}:{qport}"
|
||||
config_man = self.controller.get_config_man()
|
||||
config_man.remove_history_server(fqip)
|
||||
|
||||
proxy_man = self._get_proxy_man()
|
||||
proxy_man.remove_from_history(record)
|
||||
control_model = proxy_man.get_control()
|
||||
|
||||
self._sort_unique_maps(control_model)
|
||||
proxy = proxy_man.get_proxy_model()
|
||||
self.tv.set_model(proxy)
|
||||
|
||||
self.emitter.emit("servers_loaded", self.enum)
|
||||
|
||||
filter_man = self.tv.get_filter_man()
|
||||
maps = self._get_new_maps()
|
||||
filter_man.set_unique_maps(maps)
|
||||
|
||||
self.first_iteration = False
|
||||
self.emitter.emit("servers_loaded_init")
|
||||
|
||||
def add_by_str(self, addr: str) -> None:
|
||||
if addr.isdigit():
|
||||
self.add_by_id(addr)
|
||||
|
||||
Reference in new issue
Block a user