Add argparse to skip verification

This commit is contained in:
hodasemi 2024-06-11 15:55:42 +02:00
parent 4cca9a3eee
commit b4411bd19b
3 changed files with 18 additions and 7 deletions

View File

@ -61,5 +61,6 @@ package() {
install -Dm755 ${_pkgbase}/ui/build/src/breezydesktop.gresource "${pkgdir}"/usr/local/share/breezydesktop/breezydesktop.gresource
install -Dm755 ${_pkgbase}/ui/build/data/com.xronlinux.BreezyDesktop.desktop "${pkgdir}"/usr/share/applications/com.xronlinux.BreezyDesktop.desktop
sed -i '/Exec/c\Exec=start-breezy-desktop --skip-verification' "${pkgdir}"/usr/share/applications/com.xronlinux.BreezyDesktop.desktop
}

View File

@ -21,6 +21,7 @@ import gi
import logging
import os
import sys
import argparse
from logging.handlers import TimedRotatingFileHandler
@ -58,12 +59,13 @@ XRDriverIPC.set_instance(XRDriverIPC(logger))
class BreezydesktopApplication(Adw.Application):
"""The main application singleton class."""
def __init__(self):
def __init__(self, skip_verification):
super().__init__(application_id='com.xronlinux.BreezyDesktop',
flags=Gio.ApplicationFlags.DEFAULT_FLAGS)
self.create_action('quit', self.on_quit_action, ['<primary>q'])
self.create_action('about', self.on_about_action)
self.create_action('license', self.on_license_action)
self._skip_verification = skip_verification
def do_activate(self):
"""Called when the application is activated.
@ -73,7 +75,7 @@ class BreezydesktopApplication(Adw.Application):
"""
win = self.props.active_window
if not win:
win = BreezydesktopWindow(application=self)
win = BreezydesktopWindow(self._skip_verification, application=self)
win.connect('close-request', lambda *_: self.on_quit_action())
win.connect('destroy', lambda *_: self.on_quit_action())
win.present()
@ -119,5 +121,9 @@ class BreezydesktopApplication(Adw.Application):
def main(version):
app = BreezydesktopApplication()
parser = argparse.ArgumentParser()
parser.add_argument("-sv", "--skip-verification", action="store_true")
parser.parse_args()
app = BreezydesktopApplication(parser.skip-verification)
return app.run(sys.argv)

View File

@ -37,7 +37,7 @@ class BreezydesktopWindow(Gtk.ApplicationWindow):
license_action_needed_banner = Gtk.Template.Child()
missing_breezy_features_banner = Gtk.Template.Child()
def __init__(self, **kwargs):
def __init__(self, skip_verification, **kwargs):
super().__init__(**kwargs)
self.state_manager = StateManager.get_instance()
@ -57,6 +57,8 @@ class BreezydesktopWindow(Gtk.ApplicationWindow):
self._handle_state_update(self.state_manager, None)
self._skip_verification = skip_verification
self.connect("destroy", self._on_window_destroy)
def _handle_state_update(self, state_manager, val):
@ -71,9 +73,11 @@ class BreezydesktopWindow(Gtk.ApplicationWindow):
for child in self.main_content:
self.main_content.remove(child)
if not verify_installation():
self.main_content.append(self.failed_verification)
elif not self.state_manager.get_property('license-present'):
if not self._skip_verification:
if not verify_installation():
self.main_content.append(self.failed_verification)
if not self.state_manager.get_property('license-present'):
self.main_content.append(self.no_license)
elif not ExtensionsManager.get_instance().is_installed():
self.main_content.append(self.no_extension)