From 725921507c04e998c6ce1d4416af97a5e9470443 Mon Sep 17 00:00:00 2001 From: Matthias Baumgartner Date: Fri, 13 Jan 2023 10:18:20 +0100 Subject: action replay for development and testing --- tagit/apps/port-config.yaml | 5 ++++- tagit/windows/desktop.py | 53 +++++++++++++++++++-------------------------- 2 files changed, 26 insertions(+), 32 deletions(-) diff --git a/tagit/apps/port-config.yaml b/tagit/apps/port-config.yaml index 76fc580..d5bad35 100644 --- a/tagit/apps/port-config.yaml +++ b/tagit/apps/port-config.yaml @@ -7,6 +7,9 @@ session: backend: SparqlStore: {} user: 'http://example.com/me' + script: + #- ShowBrowsing + - [AddToken, 'hello'] storage: index: preview_size: @@ -15,7 +18,7 @@ storage: - 400 ui: standalone: - plane: browsing + #plane: browsing browser: maxcols: 8 maxrows: 8 diff --git a/tagit/windows/desktop.py b/tagit/windows/desktop.py index 0b28230..bff983c 100644 --- a/tagit/windows/desktop.py +++ b/tagit/windows/desktop.py @@ -131,39 +131,24 @@ class MainWindow(FloatLayout): self.trigger('ShowBrowsing') # show welcome message - if self.session.cfg('session', 'first_start'): + if self.session.cfg('session', 'first_start'): # FIXME: mb/port: move to starting app self.display_welcome() - # script - return - Clock.schedule_once(lambda dt: self.trigger('Search'), 0) - Clock.schedule_once(lambda dt: self.trigger('MoveCursorFirst'), 0) - Clock.schedule_once(lambda dt: self.trigger('SortKey', 'fid:image.colors_spatial:726b4e8ea45546e55dfcd4216b276284'), 0) - from kivy.app import App - App.get_running_app().stop() - Clock.schedule_once(lambda dt: self.trigger('ZoomOut'), 0) - Clock.schedule_once(lambda dt: self.trigger('ZoomOut'), 0) - Clock.schedule_once(lambda dt: self.trigger('NextPage'), 0) - Clock.schedule_once(lambda dt: self.trigger('NextPage'), 0) - Clock.schedule_once(lambda dt: self.trigger('NextPage'), 0) - Clock.schedule_once(lambda dt: self.trigger('NextPage'), 0) - Clock.schedule_once(lambda dt: self.trigger('NextPage'), 0) - Clock.schedule_once(lambda dt: self.trigger('NextPage'), 0) - Clock.schedule_once(lambda dt: self.trigger('NextPage'), 0) - Clock.schedule_once(lambda dt: self.trigger('NextPage'), 0) - Clock.schedule_once(lambda dt: self.trigger('NextPage'), 0) - Clock.schedule_once(lambda dt: self.trigger('NextPage'), 0) - Clock.schedule_once(lambda dt: self.trigger('NextPage'), 0) - Clock.schedule_once(lambda dt: self.trigger('NextPage'), 0) - Clock.schedule_once(lambda dt: self.trigger('NextPage'), 0) - Clock.schedule_once(lambda dt: self.trigger('NextPage'), 0) - Clock.schedule_once(lambda dt: self.trigger('NextPage'), 0) - Clock.schedule_once(lambda dt: self.trigger('NextPage'), 0) - Clock.schedule_once(lambda dt: self.trigger('NextPage'), 0) - Clock.schedule_once(lambda dt: self.trigger('NextPage'), 0) - Clock.schedule_once(lambda dt: self.trigger('NextPage'), 0) - Clock.schedule_once(lambda dt: self.trigger('NextPage'), 0) - Clock.schedule_once(lambda dt: self.trigger('NextPage'), 0) + # run script + for args in self.session.cfg('session', 'script'): + if isinstance(args, str): + cmd, args = args, [] + else: + cmd = args.pop(0) + Clock.schedule_once( + lambda dt, cmd=cmd, args=args: self.trigger(cmd, *args), + self.session.cfg('session', 'script_delay')) + + # FIXME: mb/port: debugging only + #return + #Clock.schedule_once(lambda dt: self.trigger('Search'), 0) + #Clock.schedule_once(lambda dt: self.trigger('ZoomOut'), 0) + #Clock.schedule_once(lambda dt: self.trigger('ZoomOut'), 0) #from kivy.app import App #App.get_running_app().stop() @@ -208,6 +193,12 @@ config.declare(('storage', 'index', 'update_on_startup'), config.Bool(), False, config.declare(('session', 'first_start'), config.Bool(), True, __name__, 'First start', 'Show the welcome message typically shown when tagit is started the first time.') +config.declare(('session', 'script'), config.List(config.Any()), [], + __name__, 'start script', 'Actions to run after startup. Intended for testing.') + +config.declare(('session', 'script_delay'), config.Unsigned(), 0, + __name__, 'script delay', 'Start script execution delay in seconds.') + config.declare(('ui', 'standalone', 'plane'), config.Enum('browsing', 'dashboard'), 'dashboard', __name__, 'Initial plane', 'Start with the dashboard or browsing plane.') -- cgit v1.2.3