diff --git a/QgisModelBaker/gui/panel/gpkg_config_panel.py b/QgisModelBaker/gui/panel/gpkg_config_panel.py index cc7d2eea..1c6c8de3 100644 --- a/QgisModelBaker/gui/panel/gpkg_config_panel.py +++ b/QgisModelBaker/gui/panel/gpkg_config_panel.py @@ -19,6 +19,9 @@ from qgis.PyQt.QtGui import QValidator +# Available in typing module from v3.12 on +from typing_extensions import override + from QgisModelBaker.libs.modelbaker.utils.globals import DbActionType from QgisModelBaker.libs.modelbaker.utils.qt_utils import ( FileValidator, @@ -62,6 +65,7 @@ def __init__(self, parent, db_action_type): self.gpkg_file_line_edit.textChanged.connect(self.notify_fields_modified) + @override def _show_panel(self): if ( self._db_action_type == DbActionType.GENERATE @@ -96,13 +100,16 @@ def _show_panel(self): self.gpkg_file_line_edit.textChanged.emit(self.gpkg_file_line_edit.text()) self.gpkg_file_browse_button.clicked.connect(file_selector) + @override def get_fields(self, configuration): configuration.dbfile = self.gpkg_file_line_edit.text().strip() configuration.dbschema = None + @override def set_fields(self, configuration): self.gpkg_file_line_edit.setText(configuration.dbfile) + @override def is_valid(self): result = False message = "" diff --git a/QgisModelBaker/gui/panel/mssql_config_panel.py b/QgisModelBaker/gui/panel/mssql_config_panel.py index d5fa152a..68783891 100644 --- a/QgisModelBaker/gui/panel/mssql_config_panel.py +++ b/QgisModelBaker/gui/panel/mssql_config_panel.py @@ -17,6 +17,9 @@ """ import logging +# Available in typing module from v3.12 on +from typing_extensions import override + from QgisModelBaker.libs.modelbaker.utils.globals import DbActionType from QgisModelBaker.libs.modelbaker.utils.qt_utils import ( NonEmptyStringValidator, @@ -69,6 +72,7 @@ def __init__(self, parent, db_action_type): self.mssql_user_line_edit.textChanged.connect(self.notify_fields_modified) self.mssql_password_line_edit.textChanged.connect(self.notify_fields_modified) + @override def _show_panel(self): if self._db_action_type == DbActionType.GENERATE: self.mssql_schema_line_edit.setPlaceholderText( @@ -85,6 +89,7 @@ def _show_panel(self): else: logging.error(f"Unknown action type: {self._db_action_type}") + @override def get_fields(self, configuration): configuration.dbhost = self.mssql_host_line_edit.text().strip() configuration.dbinstance = self.mssql_instance_line_edit.text().strip() @@ -95,6 +100,7 @@ def get_fields(self, configuration): configuration.dbpwd = self.mssql_password_line_edit.text() configuration.db_odbc_driver = self.mssql_odbc_driver.currentText() + @override def set_fields(self, configuration): self.mssql_host_line_edit.setText(configuration.dbhost) self.mssql_instance_line_edit.setText(configuration.dbinstance) @@ -108,6 +114,7 @@ def set_fields(self, configuration): if index != -1: self.mssql_odbc_driver.setCurrentIndex(index) + @override def is_valid(self): result = False message = "" diff --git a/QgisModelBaker/gui/panel/pg_config_panel.py b/QgisModelBaker/gui/panel/pg_config_panel.py index 6972b598..311dd20d 100644 --- a/QgisModelBaker/gui/panel/pg_config_panel.py +++ b/QgisModelBaker/gui/panel/pg_config_panel.py @@ -21,6 +21,9 @@ from qgis.PyQt.QtCore import Qt, QThread, QTimer +# Available in typing module from v3.12 on +from typing_extensions import override + import QgisModelBaker.libs.modelbaker.libs.pgserviceparser as pgserviceparser import QgisModelBaker.libs.modelbaker.utils.db_utils as db_utils from QgisModelBaker.libs.modelbaker.iliwrapper.globals import DbIliMode @@ -186,6 +189,7 @@ def __del__(self): except RuntimeError: pass + @override def _show_panel(self): self._fill_schema_combo_box() @@ -204,6 +208,7 @@ def _show_panel(self): else: logging.error(f"Unknown action type: {self._db_action_type}") + @override def get_fields(self, configuration): configuration.dbservice = self.pg_service_combo_box.currentData() @@ -219,6 +224,7 @@ def get_fields(self, configuration): configuration.db_use_super_login = self.pg_use_super_login.isChecked() + @override def set_fields(self, configuration): if configuration.dbservice is None: @@ -312,6 +318,7 @@ def set_fields(self, configuration): self.pg_auth_settings.setConfigId(configuration.dbauthid) self.pg_use_super_login.setChecked(configuration.db_use_super_login) + @override def is_valid(self): result = False message = "" diff --git a/requirements.txt b/requirements.txt index 30bf0291..a3e8c1c8 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,4 +1,5 @@ psycopg2>=2.7.4 +typing-extensions>=4.4.0 pytest pyodbc pyyaml