diff --git a/README.md b/README.md index 939dd73..dccb4eb 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,3 @@ # KpsUnifier + 一个可以同时处理多个 keepass 文件的工具 diff --git a/build.bat b/build.bat new file mode 100644 index 0000000..77db213 --- /dev/null +++ b/build.bat @@ -0,0 +1,3 @@ +@echo off + +nuitka --standalone .\main.py --enable-plugin=pyside6 --windows-console-mode=disable --output-filename=KpsUnifier --windows-icon-from-ico=kps-unifier.ico diff --git a/main.py b/main.py index 78eadfd..9ac39c1 100644 --- a/main.py +++ b/main.py @@ -7,11 +7,12 @@ from lib.config_utils import ( get_default_db_path, read_config, get_secrets_path, + write_config, ) from src.mw_kps_unifier import KpsUnifier import src.rc_kps_unifier -__version__ = '1.0.0' +__version__ = '1.1.0' __version_info__ = tuple(map(int, __version__.split('.'))) ORG_NAME = "JnPrograms" @@ -30,7 +31,10 @@ def main(): win = KpsUnifier(db_path, secrets_path, config, ORG_NAME, APP_NAME, __version__) win.show() - return app.exec() + app.exec() + + config["last_db_path"] = win.db_path + write_config(config, ORG_NAME, APP_NAME) if __name__ == '__main__': diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..569ed0f --- /dev/null +++ b/requirements.txt @@ -0,0 +1,4 @@ +cryptography==43.0.0 +Nuitka==2.3.11 +pykeepass==4.1.0 +PySide6-Essentials==6.5.2 diff --git a/src/mw_kps_unifier.py b/src/mw_kps_unifier.py index c8e13e3..bae4eb1 100644 --- a/src/mw_kps_unifier.py +++ b/src/mw_kps_unifier.py @@ -10,7 +10,7 @@ from .cmbx_styles import StyleComboBox from lib.Sqlite3Helper import Sqlite3Worker from lib.db_columns_def import all_columns from lib.sec_db_columns_def import sec_all_columns -from lib.config_utils import write_config, get_or_generate_key +from lib.config_utils import get_or_generate_key class UiKpsUnifier(object): @@ -72,6 +72,7 @@ class UiKpsUnifier(object): def update_sqh(self, sqh: Sqlite3Worker): self.page_load.update_sqh(sqh) self.page_query.update_sqh(sqh) + self.page_similar.update_sqh(sqh) class KpsUnifier(QtWidgets.QMainWindow): @@ -108,10 +109,6 @@ class KpsUnifier(QtWidgets.QMainWindow): self.ui.act_about.triggered.connect(self.on_act_about_triggered) self.ui.act_about_qt.triggered.connect(self.on_act_about_qt_triggered) - def __del__(self): - self.config["last_db_path"] = self.db_path - write_config(self.config, self.org_name, self.app_name) - def sizeHint(self): return QtCore.QSize(860, 640) diff --git a/src/page_similar.py b/src/page_similar.py index c18b689..8032b19 100644 --- a/src/page_similar.py +++ b/src/page_similar.py @@ -71,6 +71,9 @@ class PageSimilar(QtWidgets.QWidget): self.pbn_read_db.clicked.connect(self.on_pbn_read_db_clicked) self.pbn_delete_invalid_data.clicked.connect(self.on_pbn_delete_invalid_data_clicked) + def update_sqh(self, sqh: Sqlite3Worker): + self.sqh = sqh + def on_pbn_read_db_clicked(self): _, results = self.sqh.select("entries", sim_columns) file_uuids = get_filepath_uuids_map(results)