mirror of
https://github.com/aclist/dztui.git
synced 2026-10-30 14:42:54 +01:00
chore: reroute connect method
This commit is contained in:
1 parent
3b40ea1846
commit
2fa51c80f4
5 files changed
+45
-20
No files matched your search
@@ -464,11 +464,12 @@ def response_to_fq_ip(res: dict) -> str:
|
|||||||
def query_by_id(addr: str, key: str) -> Optional[dict]:
|
def query_by_id(addr: str, key: str) -> Optional[dict]:
|
||||||
try:
|
try:
|
||||||
resolved = map_id_to_record(key, addr)
|
resolved = map_id_to_record(key, addr)
|
||||||
res = query_direct(resolved.ip, resolved.qport)
|
return query_direct(resolved.ip, resolved.qport)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logger.critical(e)
|
logger.critical(e)
|
||||||
return None
|
return None
|
||||||
|
|
||||||
|
|
||||||
def query_by_ip(addr: str) -> Optional[dict]:
|
def query_by_ip(addr: str) -> Optional[dict]:
|
||||||
try:
|
try:
|
||||||
record = addr.split(":")
|
record = addr.split(":")
|
||||||
|
|||||||
+24
-5
@@ -12,6 +12,7 @@ from warnings import deprecated
|
|||||||
import dzgui.api.pefile as PeFile
|
import dzgui.api.pefile as PeFile
|
||||||
import dzgui.util._json as JSON # noqa
|
import dzgui.util._json as JSON # noqa
|
||||||
|
|
||||||
|
|
||||||
from dzgui.api.mods import (
|
from dzgui.api.mods import (
|
||||||
get_delimited_mods,
|
get_delimited_mods,
|
||||||
get_local_mod_path,
|
get_local_mod_path,
|
||||||
@@ -40,6 +41,7 @@ from dzgui.config.query import lookup
|
|||||||
from dzgui.config.userprefs import UserPrefs
|
from dzgui.config.userprefs import UserPrefs
|
||||||
from dzgui.controllers.emitter import Emitter
|
from dzgui.controllers.emitter import Emitter
|
||||||
from dzgui.managers.config import ConfigManager
|
from dzgui.managers.config import ConfigManager
|
||||||
|
from dzgui.managers.connection import ConnectionManager
|
||||||
from dzgui.managers.contextmenu import ContextMenuManager
|
from dzgui.managers.contextmenu import ContextMenuManager
|
||||||
from dzgui.model.proxy_model import ProxyModelManager
|
from dzgui.model.proxy_model import ProxyModelManager
|
||||||
from dzgui.model.servers import ServerModelManager
|
from dzgui.model.servers import ServerModelManager
|
||||||
@@ -290,13 +292,13 @@ class Controller(GObject.GObject):
|
|||||||
|
|
||||||
def toggle_config(self, key: Preferences) -> None:
|
def toggle_config(self, key: Preferences) -> None:
|
||||||
self.config_man.toggle_config(key)
|
self.config_man.toggle_config(key)
|
||||||
#config = self.prefs.paths.config
|
# config = self.prefs.paths.config
|
||||||
#try:
|
# try:
|
||||||
# update.toggle_config(config, context)
|
# update.toggle_config(config, context)
|
||||||
# # NOTE: 'use_miles' key is updated dynamically for statusbar unit
|
# # NOTE: 'use_miles' key is updated dynamically for statusbar unit
|
||||||
# if context == Preferences.DIST:
|
# if context == Preferences.DIST:
|
||||||
# self.prefs.use_miles = not self.prefs.use_miles
|
# self.prefs.use_miles = not self.prefs.use_miles
|
||||||
#except Exception as e:
|
# except Exception as e:
|
||||||
# logger.critical(e)
|
# logger.critical(e)
|
||||||
# trace = traceback.format_exc()
|
# trace = traceback.format_exc()
|
||||||
# dialog = ExceptionDialog(self, trace)
|
# dialog = ExceptionDialog(self, trace)
|
||||||
@@ -304,9 +306,9 @@ class Controller(GObject.GObject):
|
|||||||
|
|
||||||
def update_config(self, key: Preferences, value: str) -> None:
|
def update_config(self, key: Preferences, value: str) -> None:
|
||||||
self.config_man.update_config(key, value)
|
self.config_man.update_config(key, value)
|
||||||
#try:
|
# try:
|
||||||
# update.write_config(self.prefs.paths.config, key, value)
|
# update.write_config(self.prefs.paths.config, key, value)
|
||||||
#except Exception as e:
|
# except Exception as e:
|
||||||
# logger.critical(e)
|
# logger.critical(e)
|
||||||
# trace = traceback.format_exc()
|
# trace = traceback.format_exc()
|
||||||
# dialog = ExceptionDialog(self, trace)
|
# dialog = ExceptionDialog(self, trace)
|
||||||
@@ -588,6 +590,7 @@ class Controller(GObject.GObject):
|
|||||||
return treeview.get_model() is not None
|
return treeview.get_model() is not None
|
||||||
|
|
||||||
def _on_check_toggled(self, emitter: Emitter, label: str, state: bool) -> None:
|
def _on_check_toggled(self, emitter: Emitter, label: str, state: bool) -> None:
|
||||||
|
print('check toggled, refiltering')
|
||||||
filter_man = self.get_filter_man()
|
filter_man = self.get_filter_man()
|
||||||
filter_man.set_filter(label, state)
|
filter_man.set_filter(label, state)
|
||||||
|
|
||||||
@@ -595,6 +598,7 @@ class Controller(GObject.GObject):
|
|||||||
ServerModelManager(self, self.get_active_treeview()).refilter(mode, label)
|
ServerModelManager(self, self.get_active_treeview()).refilter(mode, label)
|
||||||
|
|
||||||
def _on_map_selection_changed(self, emitter: Emitter, selection: str) -> None:
|
def _on_map_selection_changed(self, emitter: Emitter, selection: str) -> None:
|
||||||
|
print("map sel changed, refiltering")
|
||||||
smm = ServerModelManager(self, self.get_active_treeview())
|
smm = ServerModelManager(self, self.get_active_treeview())
|
||||||
smm.refilter(FilterMode.MAP, selection)
|
smm.refilter(FilterMode.MAP, selection)
|
||||||
|
|
||||||
@@ -615,3 +619,18 @@ class Controller(GObject.GObject):
|
|||||||
|
|
||||||
def get_config_man(self) -> ConfigManager:
|
def get_config_man(self) -> ConfigManager:
|
||||||
return self.config_man
|
return self.config_man
|
||||||
|
|
||||||
|
def add_server(self, addr: str) -> None:
|
||||||
|
saved_tree = self.get_servers().get_saved()
|
||||||
|
if addr.isdigit():
|
||||||
|
ServerModelManager(self, saved).add_by_id(addr)
|
||||||
|
else:
|
||||||
|
ServerModelManager(self, saved).add_by_ip(addr)
|
||||||
|
|
||||||
|
def connect_server(self, addr: str) -> None:
|
||||||
|
if addr.isdigit():
|
||||||
|
config_man = self.get_config_man()
|
||||||
|
key = config_man.lookup(Preferences.BM)
|
||||||
|
ConnectionManager(self).connect_by_id(addr, key)
|
||||||
|
else:
|
||||||
|
ConnectionManager(self).connect_by_ip(addr)
|
||||||
@@ -21,12 +21,22 @@ class ConnectionManager:
|
|||||||
self.controller = controller
|
self.controller = controller
|
||||||
self.thread_man = ThreadingManager(parent=controller)
|
self.thread_man = ThreadingManager(parent=controller)
|
||||||
|
|
||||||
|
@call_on_thread(dialog.querying)
|
||||||
|
def connect_by_id(self, addr: str, key: str) -> None:
|
||||||
|
res = Servers.query_by_id(addr, key)
|
||||||
|
if res is None:
|
||||||
|
self.thread_man.set_cleanup_func(StoredFunc(self._connection_failure))
|
||||||
|
# TODO: add to history if successful
|
||||||
|
print("CONNECT")
|
||||||
|
print(res)
|
||||||
|
|
||||||
@call_on_thread(dialog.querying)
|
@call_on_thread(dialog.querying)
|
||||||
def connect_by_ip(self, addr: str) -> None:
|
def connect_by_ip(self, addr: str) -> None:
|
||||||
res = Servers.query_by_ip(addr)
|
res = Servers.query_by_ip(addr)
|
||||||
if res is None:
|
if res is None:
|
||||||
self.thread_man.set_cleanup_func(StoredFunc(self._connection_failure))
|
self.thread_man.set_cleanup_func(StoredFunc(self._connection_failure))
|
||||||
# TODO: add to history if successful
|
# TODO: add to history if successful
|
||||||
|
print("CONNECT")
|
||||||
print(res)
|
print(res)
|
||||||
|
|
||||||
def _connection_failure(self) -> None:
|
def _connection_failure(self) -> None:
|
||||||
|
|||||||
@@ -67,6 +67,7 @@ class ProxyModelManager:
|
|||||||
# return store
|
# return store
|
||||||
#
|
#
|
||||||
def filter(self, mode: FilterMode, *args, **kwargs) -> None:
|
def filter(self, mode: FilterMode, *args, **kwargs) -> None:
|
||||||
|
print("proxy model filtering now")
|
||||||
"""
|
"""
|
||||||
Native Gtk.TreeView.refilter() method was not performant enough
|
Native Gtk.TreeView.refilter() method was not performant enough
|
||||||
when running in the main loop with 40k+ records
|
when running in the main loop with 40k+ records
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
from typing import TYPE_CHECKING
|
from typing import TYPE_CHECKING
|
||||||
|
|
||||||
from dzgui.managers.connection import ConnectionManager
|
|
||||||
from dzgui.model.servers import ServerModelManager
|
from dzgui.model.servers import ServerModelManager
|
||||||
from dzgui.util.strings import connect_panel, fav_panel, lan_panel
|
from dzgui.util.strings import connect_panel, fav_panel, lan_panel
|
||||||
from dzgui.views.components.buttons import (
|
from dzgui.views.components.buttons import (
|
||||||
@@ -125,7 +124,7 @@ class FavPanel(Gtk.Frame):
|
|||||||
|
|
||||||
self.server_name, self.server_ip = (
|
self.server_name, self.server_ip = (
|
||||||
self.controller.get_config_man().get_favorite()
|
self.controller.get_config_man().get_favorite()
|
||||||
) # self.controller.get_favorite()
|
)
|
||||||
server_name = (
|
server_name = (
|
||||||
f"{self.server_name} ({self.server_ip})"
|
f"{self.server_name} ({self.server_ip})"
|
||||||
if self.server_name is not None
|
if self.server_name is not None
|
||||||
@@ -204,26 +203,21 @@ class AddPanel(Gtk.Frame):
|
|||||||
self.add(self.grid)
|
self.add(self.grid)
|
||||||
|
|
||||||
def _on_connect_clicked(self, button: Gtk.Button) -> None:
|
def _on_connect_clicked(self, button: Gtk.Button) -> None:
|
||||||
text = self.entry.get_text()
|
|
||||||
ConnectionManager(self.controller).connect_by_id_or_ip(text)
|
|
||||||
|
|
||||||
def _submit_query(self) -> None:
|
|
||||||
addr = self.entry.get_text()
|
addr = self.entry.get_text()
|
||||||
# TODO: grabs ServerTab.SAVED ServerTreeView
|
self.controller.connect_server(addr)
|
||||||
tree = self.controller.get_servers().get_saved()
|
|
||||||
if addr.isdigit():
|
def _add_server(self) -> None:
|
||||||
ServerModelManager(self.controller, tree).add_by_id(addr)
|
addr = self.entry.get_text()
|
||||||
else:
|
self.controller.add_server(addr)
|
||||||
ServerModelManager(self.controller, tree).add_by_ip(addr)
|
|
||||||
|
|
||||||
def _on_activate(self, entry: Gtk.Entry) -> None:
|
def _on_activate(self, entry: Gtk.Entry) -> None:
|
||||||
# NOTE: default action is to add a record, not connect
|
# NOTE: default action is to add a record, not connect
|
||||||
if not self.add_server.is_sensitive():
|
if not self.add_server.is_sensitive():
|
||||||
return
|
return
|
||||||
self._submit_query()
|
self._add_server()
|
||||||
|
|
||||||
def _on_add_clicked(self, button: Gtk.Button) -> None:
|
def _on_add_clicked(self, button: Gtk.Button) -> None:
|
||||||
self._submit_query()
|
self._add_server()
|
||||||
|
|
||||||
def _on_ip_validated(self, entry: Gtk.Entry, state: bool) -> None:
|
def _on_ip_validated(self, entry: Gtk.Entry, state: bool) -> None:
|
||||||
self.conn_server.set_sensitive(state)
|
self.conn_server.set_sensitive(state)
|
||||||
|
|||||||
Reference in new issue
Block a user