chore: clear typehinting errors

This commit is contained in:
aclist 2026-04-28 21:41:07 +09:00
parent 3d33d4f1e0
commit 52d51f2bd7
14 changed files with 50 additions and 41 deletions

View File

@ -9,7 +9,7 @@ import subprocess
import threading
from dataclasses import dataclass
from typing import Optional, Union
from typing import Optional, TYPE_CHECKING, Union
from dzgui.api.bm import map_id_to_record
from dzgui.const.constants import REQUEST_TIMEOUT
@ -19,6 +19,8 @@ from dzgui.util import strings
import a2s
import dayzquery
if TYPE_CHECKING:
from dayzquery import DayzMod
logger = logging.getLogger(__name__)
logging.getLogger("a2s").setLevel(logging.ERROR)
@ -425,7 +427,7 @@ def validate_ip(addr: str) -> Record:
return record
def get_rules(record: Record) -> list[int]:
def get_rules(record: Record) -> list["DayzMod"]:
ip = record.ip
qport = record.qport
try:

View File

@ -104,7 +104,7 @@ class StoredFunc:
class Controller(GObject.GObject):
def __init__(self) -> None:
self.dist_cache: dict[str, "Haversine", "ServerTab"] = {}
self.dist_cache: dict[str, "Haversine"] = {}
self.mediator = AppNavigation()
self.prefs: UserPrefs
@ -154,7 +154,7 @@ class Controller(GObject.GObject):
self.notes_man = NoteManager(self, prefs.paths.notes)
self.prefs = prefs
def query_config(self, key: Preferences) -> str | bool | list:
def query_config(self, key: Preferences) -> Any:
return self.config_man.lookup(key)
def is_auto_install(self) -> bool:
@ -286,7 +286,8 @@ class Controller(GObject.GObject):
it = mod.iter
path = model.get_path(it)
model[path][4] = None
self.mediator.modtreeview.set_cursor(0)
path = Gtk.TreePath.new_from_indices([0])
self.mediator.modtreeview.set_cursor(path)
def highlight_stale_cleanup(self, stale_mods: list) -> None:
"""Manipulates attached ListStore in the main event loop"""
@ -401,7 +402,7 @@ class Controller(GObject.GObject):
### END LOAD MODS LOGIC
def get_mod_store(self) -> Gtk.ListStore:
def get_mod_store(self) -> Gtk.TreeModel | None:
return self.mediator.modtreeview.get_model()
# TODO: delegate to configman
@ -483,8 +484,8 @@ class Controller(GObject.GObject):
def get_statusbar(self) -> "Statusbar":
return self.mediator.statusbar
def get_proxy_man(self) -> "ProxyModelManager":
return self.proxy_man
#def get_proxy_man(self) -> "ProxyModelManager":
# return self.proxy_man
def populate_model(self, tv: "ServerTreeView") -> None:
# NOTE: skip on previously loaded tabs
@ -495,19 +496,16 @@ class Controller(GObject.GObject):
self.mediator.statusbar.set_text("", "")
ServerModelManager(self, tv).load()
def get_dist_cache(self) -> dict[str, "Haversine", "ServerTab"]:
def get_dist_cache(self) -> dict[str, "Haversine"]:
return self.dist_cache
def get_filters(self) -> list:
return self.mediator.filters.get_filters()
def get_map_store(self) -> Gtk.ListStore:
filter_man = self.get_filter_man()
return filter_man.get_map_store()
def get_selected_map(self) -> str:
filter_man = self.get_filter_man()
return filter_man.get_selected_map()
#def get_selected_map(self) -> str:
# filter_man = self.get_filter_man()
# return filter_man.get_selected_map()
def get_enabled_filters(self) -> dict:
filter_man = self.get_filter_man()
@ -553,7 +551,7 @@ class Controller(GObject.GObject):
def get_servers(self) -> "ServerNotebook":
return self.mediator.servers
def get_server_notebook(self) -> "Notebook":
def get_server_notebook(self) -> Gtk.Notebook:
return self.mediator.servers.notebook
def get_window(self) -> "OuterWindow":
@ -568,8 +566,8 @@ class Controller(GObject.GObject):
return False
return True
def is_in_favs(self) -> bool:
return self.config_man.is_in_favs()
#def is_in_favs(self) -> bool:
# return self.config_man.is_in_favs()
def get_config_man(self) -> ConfigManager:
return self.config_man

View File

@ -88,9 +88,9 @@ class ConfigManager:
if res is True:
self.update_config(key, text)
else:
self.thread_man.set_cleanup_func(StoredFunc(
lambda: self.emitter.emit("api_change_failed")
))
self.thread_man.set_cleanup_func(
StoredFunc(lambda: self.emitter.emit("api_change_failed"))
)
return
def get_favorites(self) -> list[str]:
@ -113,7 +113,7 @@ class ConfigManager:
def enum_to_key(self, enum: Preferences) -> str:
return enum.dict["key"]
def get_client_index(client: str) -> int:
def get_client_index(self, client: str) -> int:
if client == STEAM_CMD:
return 0
if client == FLATPAK_RUN_CMD:

View File

@ -19,12 +19,13 @@ logger = logging.getLogger(__name__)
if TYPE_CHECKING:
from dzgui.controllers.mc import Controller
from dzgui.views.trees.tree_servers import ServerTreeView
class ContextMenuManager:
def __init__(
self,
treeview: Gtk.TreeView,
treeview: "ServerTreeView",
controller: "Controller",
) -> None:
self.controller = controller

View File

@ -1,5 +1,5 @@
from dataclasses import dataclass
from typing import Any, Sequence
from typing import Any, Sequence, TYPE_CHECKING
from dzgui.const.enum import HELP_MENU_ROWS
from dzgui.util.redact import redact_log
@ -17,6 +17,10 @@ GTYPE_TO_PYTHON = {
}
if TYPE_CHECKING:
from pathlib import Path
@dataclass(slots=True, frozen=True)
class ServerCols:
name: str
@ -120,7 +124,7 @@ class ModelFactory:
def __init__(self) -> None:
pass
def new_model_from_logfile(self, path: str) -> FastInsertListStore:
def new_model_from_logfile(self, path: "Path") -> FastInsertListStore:
store = self.make_log_store()
with open(path, "r") as f:
lines = [line.split(delimiter) for line in f.read().splitlines()]

View File

@ -246,7 +246,7 @@ class ProxyModelManager:
def get_control(self) -> list:
return self.control_model
def wipe_cache(self, full=False) -> None:
def wipe_cache(self, full: bool = False) -> None:
self.filtered = None
self.filter_cache = {}

View File

@ -251,7 +251,9 @@ class ServerModelManager:
proxy_man = self._get_proxy_man()
proxy_man.update_playercount(self.playercount)
def _parse_single_record(self, response: dict, delete: bool = False) -> None:
def _parse_single_record(
self, response: dict[Any, Any] | None, delete: bool = False
) -> None:
self.preserve_on_fail = True
if response is None:
self.thread_man.set_cleanup_func(StoredFunc(self._cleanup_on_failure))

View File

@ -117,7 +117,7 @@ class RefreshButton(IconTextButton):
self.show_time(True)
GLib.timeout_add_seconds(1, self.decrement)
def decrement(self) -> "GLib.SOURCE_REMOVE" | Literal[True]:
def decrement(self) -> type[GLib.SOURCE_REMOVE] | Literal[True]:
self.time -= 1
if self.time == 0:
self.time = 30

View File

@ -102,10 +102,10 @@ class LanPanel(Gtk.Frame):
if self.default_radio.get_active():
port = 27016
else:
port = self.entry.get_text()
port = int(self.entry.get_text())
abort = self.early_abort.get_active()
smm = ServerModelManager(self.controller, self.controller.get_active_treeview())
smm.dump_lan(int(port), abort)
smm.dump_lan(port, abort)
def _on_radio_toggled(self, button: Gtk.RadioButton) -> None:
state = button.get_active()
@ -132,6 +132,7 @@ class FavPanel(Gtk.Frame):
emitter = self.controller.get_emitter()
emitter.connect("fav_server_changed", self._on_fav_server_changed)
# TODO: do not return a None, None tuple
self.server_name, self.server_ip = (
self.controller.get_config_man().get_favorite()
)

View File

@ -16,7 +16,7 @@ from gi.repository import Gtk, Gdk, GLib # noqa E402
if TYPE_CHECKING:
from dzgui.controllers.mc import Controller
from dzgui.controllers.emitter import Emitter
from dzgui.controllers.views.trees.tree_servers import ServerTreeView
from dzgui.views.trees.tree_servers import ServerTreeView
class RightPanel(Gtk.Box):

View File

@ -62,7 +62,7 @@ class NoteDialog(GenericDialog):
if len(entry.get_text()) == 0:
self.ok.set_sensitive(False)
def validate(self, text: str) -> None:
def validate(self, text: str) -> bool:
if text.isspace():
sensitive = False
else:

View File

@ -47,7 +47,7 @@ class ServerDialog(GenericDialog):
# def pack(self, widget: Gtk.Widget) -> None:
# self.content.pack_start(widget, EXPAND, FILL, NO_PADDING)
def _on_keypress(self, view: Gtk.TreeView, event: Gdk.EventKey) -> None:
def _on_keypress(self, view: Gtk.TreeView, event: Gdk.EventKey) -> bool:
# NOTE: ESC normally unfocuses treeview instead of destroying dialog
if event.keyval == Gdk.KEY_Escape:
self.destroy()

View File

@ -14,6 +14,7 @@ gi.require_version("Gtk", "3.0")
from gi.repository import Gtk, GLib, Gdk, GObject, Pango # noqa E402
if TYPE_CHECKING:
from pathlib import Path
from dzgui.controllers.mc import Controller
logger = logging.getLogger(__name__)
@ -49,7 +50,7 @@ class LogTreeView(ContextMixin, TreeView):
self.connect("button-press-event", self._on_log_buttonpress)
self.connect("key-press-event", self._on_log_keypress)
def populate_log(self, filepath: str) -> None:
def populate_log(self, filepath: "Path") -> None:
model = ModelFactory().new_model_from_logfile(filepath)
_filter = model.filter_new()
_filter.set_visible_func(self._filter_rows)

View File

@ -113,7 +113,7 @@ class ServerTreeView(ContextMixin, TreeView):
self.connect("query-tooltip", self._on_tooltip)
# TODO: why is this being saved?
self.thread = None
# self.thread = None
def _on_tooltip(
self,
@ -153,7 +153,7 @@ class ServerTreeView(ContextMixin, TreeView):
def get_proxy_man(self) -> ProxyModelManager:
return self.proxy_man
def get_enum(self) -> None:
def get_enum(self) -> ServerTab:
return self.enum
def _on_map(self, widget: Self) -> None:
@ -202,12 +202,12 @@ class ServerTreeView(ContextMixin, TreeView):
return
enum = self.get_enum()
self.thread = threading.Thread(
thread = threading.Thread(
daemon=True,
target=CalcDist,
args=(record.ip, enum, self.queue, self.controller),
)
self.thread.start()
thread.start()
def _check_result_queue(self) -> Literal[True]:
latest_result = None
@ -281,7 +281,7 @@ class ServerTreeView(ContextMixin, TreeView):
record = self.get_record()
self.controller.connect_by_record(record)
def _parent_selection_changed(self, base_class: TreeView, sel: Gtk.TreeSelection):
def _parent_selection_changed(self, base_class: TreeView, sel: Gtk.TreeSelection) -> None:
if self.loaded is False:
return
self.start_distcalc()
@ -315,7 +315,7 @@ class ServerTreeView(ContextMixin, TreeView):
self.loaded = status
@staticmethod
def ping_server(model, _iter: Gtk.TreeIter, ip: str, qport: int, ping_column: int):
def ping_server(model, _iter: Gtk.TreeIter, ip: str, qport: int, ping_column: int) -> None:
_ping = ping(ip, qport)
GLib.idle_add(lambda: model.set(_iter, ping_column, _ping))
@ -326,7 +326,7 @@ class ServerTreeView(ContextMixin, TreeView):
model: Gtk.TreeModel,
_iter: Gtk.TreeIter,
data: Any,
):
) -> None:
addr_column = 7
qport_column = 8