From 53989ebaa3d3cec00153ef487b10681e72805ebb Mon Sep 17 00:00:00 2001 From: Bernd Schoolmann Date: Fri, 9 Feb 2024 15:47:20 +0100 Subject: [PATCH] Rename gui dirs and remove non-required dependencies --- com.quexten.Goldwarden.yml | 14 +++--- {ui => gui}/com.quexten.Goldwarden.desktop | 2 +- .../com.quexten.Goldwarden.metainfo.xml | 0 {ui => gui}/goldwarden.svg | 0 gui/goldwarden_ui_main.py | 4 ++ gui/python3-requirements.json | 14 ++++++ gui/requirements.txt | 1 + {ui/src/ui => gui/src/gui}/components.py | 0 {ui/src/ui => gui/src/gui}/pinentry.py | 0 .../ui => gui/src/gui}/pinentry_approval.py | 0 {ui/src/ui => gui/src/gui}/quickaccess.py | 0 {ui/src/ui => gui/src/gui}/settings.py | 2 +- .../src/linux/autotype/libportal_autotype.py | 0 {ui => gui}/src/linux/background.py | 0 {ui => gui}/src/linux/clipboard.py | 0 {ui => gui}/src/linux/main.py | 4 +- .../linux/monitors/dbus_autofill_monitor.py | 2 +- .../src/linux/monitors/dbus_monitor.py | 4 +- .../linux/monitors/global_shortcut_portal.py | 0 {ui => gui}/src/services/goldwarden.py | 0 {ui => gui}/src/services/pinentry.py | 2 +- {ui => gui}/src/services/totp.py | 0 {ui => gui}/style.css | 0 ui/python3-requirements.json | 49 ------------------- ui/requirements.txt | 3 -- ui/src/goldwarden_ui_main.py | 3 -- 26 files changed, 34 insertions(+), 70 deletions(-) rename {ui => gui}/com.quexten.Goldwarden.desktop (88%) rename {ui => gui}/com.quexten.Goldwarden.metainfo.xml (100%) rename {ui => gui}/goldwarden.svg (100%) create mode 100644 gui/goldwarden_ui_main.py create mode 100644 gui/python3-requirements.json create mode 100644 gui/requirements.txt rename {ui/src/ui => gui/src/gui}/components.py (100%) rename {ui/src/ui => gui/src/gui}/pinentry.py (100%) rename {ui/src/ui => gui/src/gui}/pinentry_approval.py (100%) rename {ui/src/ui => gui/src/gui}/quickaccess.py (100%) rename {ui/src/ui => gui/src/gui}/settings.py (99%) rename {ui => gui}/src/linux/autotype/libportal_autotype.py (100%) rename {ui => gui}/src/linux/background.py (100%) rename {ui => gui}/src/linux/clipboard.py (100%) rename {ui => gui}/src/linux/main.py (88%) rename {ui => gui}/src/linux/monitors/dbus_autofill_monitor.py (86%) rename {ui => gui}/src/linux/monitors/dbus_monitor.py (79%) rename {ui => gui}/src/linux/monitors/global_shortcut_portal.py (100%) rename {ui => gui}/src/services/goldwarden.py (100%) rename {ui => gui}/src/services/pinentry.py (95%) rename {ui => gui}/src/services/totp.py (100%) rename {ui => gui}/style.css (100%) delete mode 100644 ui/python3-requirements.json delete mode 100644 ui/requirements.txt delete mode 100644 ui/src/goldwarden_ui_main.py diff --git a/com.quexten.Goldwarden.yml b/com.quexten.Goldwarden.yml index f8c3db2..8346b58 100644 --- a/com.quexten.Goldwarden.yml +++ b/com.quexten.Goldwarden.yml @@ -2,7 +2,7 @@ id: com.quexten.Goldwarden runtime: org.gnome.Platform runtime-version: '45' sdk: org.gnome.Sdk -command: src/goldwarden_ui_main.py +command: goldwarden_ui_main.py finish-args: # Allow network access for sync - --share=network @@ -28,7 +28,7 @@ finish-args: # biometric / user password auth - --system-talk-name=org.freedesktop.PolicyKit1 modules: - - ./ui/python3-requirements.json + - ./gui/python3-requirements.json - name: wl-clipboard buildsystem: meson config-opts: @@ -40,11 +40,11 @@ modules: - name: goldwarden-python-ui buildsystem: simple build-commands: - - cp -R ./ui/* /app/bin - - chmod +x /app/bin/src/goldwarden_ui_main.py - - install -D ./ui/com.quexten.Goldwarden.desktop /app/share/applications/com.quexten.Goldwarden.desktop - - install -D ./ui/goldwarden.svg /app/share/icons/hicolor/scalable/apps/com.quexten.Goldwarden.svg - - install -Dm644 ./ui/com.quexten.Goldwarden.metainfo.xml -t /app/share/metainfo/ + - cp -R ./gui/* /app/bin + - chmod +x /app/bin/goldwarden_ui_main.py + - install -D ./gui/com.quexten.Goldwarden.desktop /app/share/applications/com.quexten.Goldwarden.desktop + - install -D ./gui/goldwarden.svg /app/share/icons/hicolor/scalable/apps/com.quexten.Goldwarden.svg + - install -Dm644 ./gui/com.quexten.Goldwarden.metainfo.xml -t /app/share/metainfo/ sources: - type: dir path: ./ diff --git a/ui/com.quexten.Goldwarden.desktop b/gui/com.quexten.Goldwarden.desktop similarity index 88% rename from ui/com.quexten.Goldwarden.desktop rename to gui/com.quexten.Goldwarden.desktop index 6bc301c..5df1eb5 100644 --- a/ui/com.quexten.Goldwarden.desktop +++ b/gui/com.quexten.Goldwarden.desktop @@ -2,7 +2,7 @@ Name=Goldwarden Comment=A Bitwarden compatible desktop password manager Keywords=password;ssh;auto-type;keys; -Exec=src/goldwarden_ui_main.py +Exec=goldwarden_ui_main.py Terminal=false Type=Application Icon=com.quexten.Goldwarden diff --git a/ui/com.quexten.Goldwarden.metainfo.xml b/gui/com.quexten.Goldwarden.metainfo.xml similarity index 100% rename from ui/com.quexten.Goldwarden.metainfo.xml rename to gui/com.quexten.Goldwarden.metainfo.xml diff --git a/ui/goldwarden.svg b/gui/goldwarden.svg similarity index 100% rename from ui/goldwarden.svg rename to gui/goldwarden.svg diff --git a/gui/goldwarden_ui_main.py b/gui/goldwarden_ui_main.py new file mode 100644 index 0000000..d6df4d2 --- /dev/null +++ b/gui/goldwarden_ui_main.py @@ -0,0 +1,4 @@ +#!/usr/bin/env python3 +import src.linux.main as linux_main + +linux_main.main() \ No newline at end of file diff --git a/gui/python3-requirements.json b/gui/python3-requirements.json new file mode 100644 index 0000000..1989579 --- /dev/null +++ b/gui/python3-requirements.json @@ -0,0 +1,14 @@ +{ + "name": "python3-tendo", + "buildsystem": "simple", + "build-commands": [ + "pip3 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"tendo==0.3.0\" --no-build-isolation" + ], + "sources": [ + { + "type": "file", + "url": "https://files.pythonhosted.org/packages/ce/3f/761077d55732b0b1a673b15d4fdaa947a7c1eb5c9a23b7142df557019823/tendo-0.3.0-py3-none-any.whl", + "sha256": "026b70b355ea4c9da7c2123fa2d5c280c8983c1b34e329ff49260e2e78b93be7" + } + ] +} \ No newline at end of file diff --git a/gui/requirements.txt b/gui/requirements.txt new file mode 100644 index 0000000..66aeab9 --- /dev/null +++ b/gui/requirements.txt @@ -0,0 +1 @@ +tendo==0.3.0 \ No newline at end of file diff --git a/ui/src/ui/components.py b/gui/src/gui/components.py similarity index 100% rename from ui/src/ui/components.py rename to gui/src/gui/components.py diff --git a/ui/src/ui/pinentry.py b/gui/src/gui/pinentry.py similarity index 100% rename from ui/src/ui/pinentry.py rename to gui/src/gui/pinentry.py diff --git a/ui/src/ui/pinentry_approval.py b/gui/src/gui/pinentry_approval.py similarity index 100% rename from ui/src/ui/pinentry_approval.py rename to gui/src/gui/pinentry_approval.py diff --git a/ui/src/ui/quickaccess.py b/gui/src/gui/quickaccess.py similarity index 100% rename from ui/src/ui/quickaccess.py rename to gui/src/gui/quickaccess.py diff --git a/ui/src/ui/settings.py b/gui/src/gui/settings.py similarity index 99% rename from ui/src/ui/settings.py rename to gui/src/gui/settings.py index d5c3e49..6af226b 100644 --- a/ui/src/ui/settings.py +++ b/gui/src/gui/settings.py @@ -51,7 +51,7 @@ class SettingsWinvdow(Gtk.ApplicationWindow): self.autotype_button.set_label("Quick Access") self.autotype_button.set_margin_top(10) def quickaccess_button_clicked(): - p = subprocess.Popen(["python3", "-m", "src.ui.quickaccess"], stdin=subprocess.PIPE, stdout=subprocess.PIPE, cwd=root_path, start_new_session=True) + p = subprocess.Popen(["python3", "-m", "src.gui.quickaccess"], stdin=subprocess.PIPE, stdout=subprocess.PIPE, cwd=root_path, start_new_session=True) p.stdin.write(f"{token}\n".encode()) p.stdin.flush() self.autotype_button.connect("clicked", lambda button: quickaccess_button_clicked()) diff --git a/ui/src/linux/autotype/libportal_autotype.py b/gui/src/linux/autotype/libportal_autotype.py similarity index 100% rename from ui/src/linux/autotype/libportal_autotype.py rename to gui/src/linux/autotype/libportal_autotype.py diff --git a/ui/src/linux/background.py b/gui/src/linux/background.py similarity index 100% rename from ui/src/linux/background.py rename to gui/src/linux/background.py diff --git a/ui/src/linux/clipboard.py b/gui/src/linux/clipboard.py similarity index 100% rename from ui/src/linux/clipboard.py rename to gui/src/linux/clipboard.py diff --git a/ui/src/linux/main.py b/gui/src/linux/main.py similarity index 88% rename from ui/src/linux/main.py rename to gui/src/linux/main.py index 682a853..4591050 100644 --- a/ui/src/linux/main.py +++ b/gui/src/linux/main.py @@ -5,7 +5,7 @@ from tendo import singleton from .monitors import dbus_autofill_monitor from .monitors import dbus_monitor import sys -from services import goldwarden +from src.services import goldwarden from threading import Thread import os import secrets @@ -38,7 +38,7 @@ def main(): dbus_monitor.run_daemon(token) if not "--hidden" in sys.argv: - p = subprocess.Popen(["python3", "-m", "src.ui.settings"], stdin=subprocess.PIPE, stdout=subprocess.PIPE, cwd=root_path, start_new_session=True) + p = subprocess.Popen(["python3", "-m", "src.gui.settings"], stdin=subprocess.PIPE, stdout=subprocess.PIPE, cwd=root_path, start_new_session=True) p.stdin.write(f"{token}\n".encode()) p.stdin.flush() diff --git a/ui/src/linux/monitors/dbus_autofill_monitor.py b/gui/src/linux/monitors/dbus_autofill_monitor.py similarity index 86% rename from ui/src/linux/monitors/dbus_autofill_monitor.py rename to gui/src/linux/monitors/dbus_autofill_monitor.py index 4311cbb..63c939c 100644 --- a/ui/src/linux/monitors/dbus_autofill_monitor.py +++ b/gui/src/linux/monitors/dbus_autofill_monitor.py @@ -16,7 +16,7 @@ class GoldwardenDBUSService(dbus.service.Object): @dbus.service.method('com.quexten.Goldwarden.Autofill') def autofill(self): - p = subprocess.Popen(["python3", "-m", "src.ui.quickaccess"], stdin=subprocess.PIPE, stdout=subprocess.PIPE, cwd=root_path, start_new_session=True) + p = subprocess.Popen(["python3", "-m", "src.gui.quickaccess"], stdin=subprocess.PIPE, stdout=subprocess.PIPE, cwd=root_path, start_new_session=True) p.stdin.write(f"{daemon_token}\n".encode()) p.stdin.flush() return "" diff --git a/ui/src/linux/monitors/dbus_monitor.py b/gui/src/linux/monitors/dbus_monitor.py similarity index 79% rename from ui/src/linux/monitors/dbus_monitor.py rename to gui/src/linux/monitors/dbus_monitor.py index e70ecda..acfc053 100644 --- a/ui/src/linux/monitors/dbus_monitor.py +++ b/gui/src/linux/monitors/dbus_monitor.py @@ -16,14 +16,14 @@ class GoldwardenDBUSService(dbus.service.Object): @dbus.service.method('com.quexten.Goldwarden.ui.QuickAccess') def quickaccess(self): - p = subprocess.Popen(["python3", "-m", "src.ui.quickaccess"], stdin=subprocess.PIPE, stdout=subprocess.PIPE, cwd=root_path, start_new_session=True) + p = subprocess.Popen(["python3", "-m", "src.gui.quickaccess"], stdin=subprocess.PIPE, stdout=subprocess.PIPE, cwd=root_path, start_new_session=True) p.stdin.write(f"{daemon_token}\n".encode()) p.stdin.flush() return "" @dbus.service.method('com.quexten.Goldwarden.ui.Settings') def settings(self): - subprocess.Popen(["python3", "-m", "src.ui.settings"], stdin=subprocess.PIPE, stdout=subprocess.PIPE, cwd=root_path, start_new_session=True) + subprocess.Popen(["python3", "-m", "src.gui.settings"], stdin=subprocess.PIPE, stdout=subprocess.PIPE, cwd=root_path, start_new_session=True) p.stdin.write(f"{daemon_token}\n".encode()) p.stdin.flush() return "" diff --git a/ui/src/linux/monitors/global_shortcut_portal.py b/gui/src/linux/monitors/global_shortcut_portal.py similarity index 100% rename from ui/src/linux/monitors/global_shortcut_portal.py rename to gui/src/linux/monitors/global_shortcut_portal.py diff --git a/ui/src/services/goldwarden.py b/gui/src/services/goldwarden.py similarity index 100% rename from ui/src/services/goldwarden.py rename to gui/src/services/goldwarden.py diff --git a/ui/src/services/pinentry.py b/gui/src/services/pinentry.py similarity index 95% rename from ui/src/services/pinentry.py rename to gui/src/services/pinentry.py index 6cb3a4e..47946cc 100644 --- a/ui/src/services/pinentry.py +++ b/gui/src/services/pinentry.py @@ -1,6 +1,6 @@ import subprocess import os -from src.services import goldwarden +from gui.src.services import goldwarden root_path = os.path.abspath(os.path.join(os.path.dirname(os.path.abspath(__file__)), os.pardir, os.pardir)) diff --git a/ui/src/services/totp.py b/gui/src/services/totp.py similarity index 100% rename from ui/src/services/totp.py rename to gui/src/services/totp.py diff --git a/ui/style.css b/gui/style.css similarity index 100% rename from ui/style.css rename to gui/style.css diff --git a/ui/python3-requirements.json b/ui/python3-requirements.json deleted file mode 100644 index 10db252..0000000 --- a/ui/python3-requirements.json +++ /dev/null @@ -1,49 +0,0 @@ -{ - "name": "python3-requirements", - "buildsystem": "simple", - "build-commands": [], - "modules": [ - { - "name": "python3-ChaCha20", - "buildsystem": "simple", - "build-commands": [ - "pip3 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"ChaCha20==1.1.1\" --no-build-isolation" - ], - "sources": [ - { - "type": "file", - "url": "https://files.pythonhosted.org/packages/7d/93/2c5c7203bcb1ece177a49d14b32f0e0511f7d4eaf8446c15f7d64af082ad/ChaCha20-1.1.1.tar.gz", - "sha256": "6d6b1ef373058540369c14d2369ab14ee4ffaeae4dc53d8a18b5b617bd06c6bb" - } - ] - }, - { - "name": "python3-chacha20poly1305", - "buildsystem": "simple", - "build-commands": [ - "pip3 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"chacha20poly1305==0.0.3\" --no-build-isolation" - ], - "sources": [ - { - "type": "file", - "url": "https://files.pythonhosted.org/packages/38/2c/5b4eb73c5cb30ded3082af025e76f529764971c57c02b101e842ff998f63/chacha20poly1305-0.0.3.tar.gz", - "sha256": "f2f005c7cf4638ffa4ff06c02c78748068b642916795c6d16c7cc5e355e70edf" - } - ] - }, - { - "name": "python3-tendo", - "buildsystem": "simple", - "build-commands": [ - "pip3 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"tendo==0.3.0\" --no-build-isolation" - ], - "sources": [ - { - "type": "file", - "url": "https://files.pythonhosted.org/packages/ce/3f/761077d55732b0b1a673b15d4fdaa947a7c1eb5c9a23b7142df557019823/tendo-0.3.0-py3-none-any.whl", - "sha256": "026b70b355ea4c9da7c2123fa2d5c280c8983c1b34e329ff49260e2e78b93be7" - } - ] - } - ] -} \ No newline at end of file diff --git a/ui/requirements.txt b/ui/requirements.txt deleted file mode 100644 index 432025d..0000000 --- a/ui/requirements.txt +++ /dev/null @@ -1,3 +0,0 @@ -ChaCha20==1.1.1 -chacha20poly1305==0.0.3 -tendo==0.3.0 \ No newline at end of file diff --git a/ui/src/goldwarden_ui_main.py b/ui/src/goldwarden_ui_main.py deleted file mode 100644 index 2f418d7..0000000 --- a/ui/src/goldwarden_ui_main.py +++ /dev/null @@ -1,3 +0,0 @@ -import linux.main as linux_main - -linux_main.main() \ No newline at end of file