From d968c36c15487529ff198dab9b9cbc0a69ada520 Mon Sep 17 00:00:00 2001 From: Jakub Trllo <43494761+iLLiCiTiT@users.noreply.github.com> Date: Tue, 21 May 2024 15:18:09 +0200 Subject: [PATCH 1/4] moved clockify code to server addon --- .../clockify/client/ayon_clockify}/__init__.py | 0 .../clockify/client/ayon_clockify}/clockify_api.py | 0 .../clockify/client/ayon_clockify}/clockify_module.py | 0 .../clockify/client/ayon_clockify}/constants.py | 0 .../ayon_clockify}/ftrack/server/action_clockify_sync_server.py | 0 .../ayon_clockify}/ftrack/user/action_clockify_sync_local.py | 0 .../client/ayon_clockify}/launcher_actions/ClockifyStart.py | 0 .../client/ayon_clockify}/launcher_actions/ClockifySync.py | 0 .../clockify/client/ayon_clockify}/widgets.py | 0 9 files changed, 0 insertions(+), 0 deletions(-) rename {client/ayon_core/modules/clockify => server_addon/clockify/client/ayon_clockify}/__init__.py (100%) rename {client/ayon_core/modules/clockify => server_addon/clockify/client/ayon_clockify}/clockify_api.py (100%) rename {client/ayon_core/modules/clockify => server_addon/clockify/client/ayon_clockify}/clockify_module.py (100%) rename {client/ayon_core/modules/clockify => server_addon/clockify/client/ayon_clockify}/constants.py (100%) rename {client/ayon_core/modules/clockify => server_addon/clockify/client/ayon_clockify}/ftrack/server/action_clockify_sync_server.py (100%) rename {client/ayon_core/modules/clockify => server_addon/clockify/client/ayon_clockify}/ftrack/user/action_clockify_sync_local.py (100%) rename {client/ayon_core/modules/clockify => server_addon/clockify/client/ayon_clockify}/launcher_actions/ClockifyStart.py (100%) rename {client/ayon_core/modules/clockify => server_addon/clockify/client/ayon_clockify}/launcher_actions/ClockifySync.py (100%) rename {client/ayon_core/modules/clockify => server_addon/clockify/client/ayon_clockify}/widgets.py (100%) diff --git a/client/ayon_core/modules/clockify/__init__.py b/server_addon/clockify/client/ayon_clockify/__init__.py similarity index 100% rename from client/ayon_core/modules/clockify/__init__.py rename to server_addon/clockify/client/ayon_clockify/__init__.py diff --git a/client/ayon_core/modules/clockify/clockify_api.py b/server_addon/clockify/client/ayon_clockify/clockify_api.py similarity index 100% rename from client/ayon_core/modules/clockify/clockify_api.py rename to server_addon/clockify/client/ayon_clockify/clockify_api.py diff --git a/client/ayon_core/modules/clockify/clockify_module.py b/server_addon/clockify/client/ayon_clockify/clockify_module.py similarity index 100% rename from client/ayon_core/modules/clockify/clockify_module.py rename to server_addon/clockify/client/ayon_clockify/clockify_module.py diff --git a/client/ayon_core/modules/clockify/constants.py b/server_addon/clockify/client/ayon_clockify/constants.py similarity index 100% rename from client/ayon_core/modules/clockify/constants.py rename to server_addon/clockify/client/ayon_clockify/constants.py diff --git a/client/ayon_core/modules/clockify/ftrack/server/action_clockify_sync_server.py b/server_addon/clockify/client/ayon_clockify/ftrack/server/action_clockify_sync_server.py similarity index 100% rename from client/ayon_core/modules/clockify/ftrack/server/action_clockify_sync_server.py rename to server_addon/clockify/client/ayon_clockify/ftrack/server/action_clockify_sync_server.py diff --git a/client/ayon_core/modules/clockify/ftrack/user/action_clockify_sync_local.py b/server_addon/clockify/client/ayon_clockify/ftrack/user/action_clockify_sync_local.py similarity index 100% rename from client/ayon_core/modules/clockify/ftrack/user/action_clockify_sync_local.py rename to server_addon/clockify/client/ayon_clockify/ftrack/user/action_clockify_sync_local.py diff --git a/client/ayon_core/modules/clockify/launcher_actions/ClockifyStart.py b/server_addon/clockify/client/ayon_clockify/launcher_actions/ClockifyStart.py similarity index 100% rename from client/ayon_core/modules/clockify/launcher_actions/ClockifyStart.py rename to server_addon/clockify/client/ayon_clockify/launcher_actions/ClockifyStart.py diff --git a/client/ayon_core/modules/clockify/launcher_actions/ClockifySync.py b/server_addon/clockify/client/ayon_clockify/launcher_actions/ClockifySync.py similarity index 100% rename from client/ayon_core/modules/clockify/launcher_actions/ClockifySync.py rename to server_addon/clockify/client/ayon_clockify/launcher_actions/ClockifySync.py diff --git a/client/ayon_core/modules/clockify/widgets.py b/server_addon/clockify/client/ayon_clockify/widgets.py similarity index 100% rename from client/ayon_core/modules/clockify/widgets.py rename to server_addon/clockify/client/ayon_clockify/widgets.py From 5300ea1526f10085d0f44980347ea9dbe077d75e Mon Sep 17 00:00:00 2001 From: Jakub Trllo <43494761+iLLiCiTiT@users.noreply.github.com> Date: Tue, 21 May 2024 16:01:00 +0200 Subject: [PATCH 2/4] fix imports and naming --- .../clockify/client/ayon_clockify/__init__.py | 4 ++-- .../{clockify_module.py => addon.py} | 20 +++++++++--------- .../client/ayon_clockify/clockify_api.py | 8 ++++--- .../server/action_clockify_sync_server.py | 6 ++++-- .../ftrack/user/action_clockify_sync_local.py | 21 +++++++------------ .../launcher_actions/ClockifyStart.py | 3 ++- .../launcher_actions/ClockifySync.py | 2 +- .../clockify/client/ayon_clockify/version.py | 3 +++ server_addon/clockify/package.py | 2 +- 9 files changed, 36 insertions(+), 33 deletions(-) rename server_addon/clockify/client/ayon_clockify/{clockify_module.py => addon.py} (93%) create mode 100644 server_addon/clockify/client/ayon_clockify/version.py diff --git a/server_addon/clockify/client/ayon_clockify/__init__.py b/server_addon/clockify/client/ayon_clockify/__init__.py index 98834b516c..75fb87494e 100644 --- a/server_addon/clockify/client/ayon_clockify/__init__.py +++ b/server_addon/clockify/client/ayon_clockify/__init__.py @@ -1,5 +1,5 @@ -from .clockify_module import ClockifyModule +from .addon import ClockifyAddon __all__ = ( - "ClockifyModule", + "ClockifyAddon", ) diff --git a/server_addon/clockify/client/ayon_clockify/clockify_module.py b/server_addon/clockify/client/ayon_clockify/addon.py similarity index 93% rename from server_addon/clockify/client/ayon_clockify/clockify_module.py rename to server_addon/clockify/client/ayon_clockify/addon.py index d2ee4f1e1e..ce91b2be70 100644 --- a/server_addon/clockify/client/ayon_clockify/clockify_module.py +++ b/server_addon/clockify/client/ayon_clockify/addon.py @@ -2,12 +2,12 @@ import os import threading import time -from ayon_core.modules import AYONAddon, ITrayModule, IPluginPaths +from ayon_core.addon import AYONAddon, ITrayAddon, IPluginPaths from .constants import CLOCKIFY_FTRACK_USER_PATH, CLOCKIFY_FTRACK_SERVER_PATH -class ClockifyModule(AYONAddon, ITrayModule, IPluginPaths): +class ClockifyAddon(AYONAddon, ITrayAddon, IPluginPaths): name = "clockify" def initialize(self, studio_settings): @@ -31,7 +31,7 @@ class ClockifyModule(AYONAddon, ITrayModule, IPluginPaths): # TimersManager attributes # - set `timers_manager_connector` only in `tray_init` self.timers_manager_connector = None - self._timers_manager_module = None + self._timer_manager_addon = None @property def clockify_api(self): @@ -87,7 +87,7 @@ class ClockifyModule(AYONAddon, ITrayModule, IPluginPaths): return {"actions": [actions_path]} def get_ftrack_event_handler_paths(self): - """Function for Ftrack module to add ftrack event handler paths.""" + """Function for ftrack addon to add ftrack event handler paths.""" return { "user": [CLOCKIFY_FTRACK_USER_PATH], "server": [CLOCKIFY_FTRACK_SERVER_PATH], @@ -206,19 +206,19 @@ class ClockifyModule(AYONAddon, ITrayModule, IPluginPaths): self.action_stop_timer.setVisible(self.bool_timer_run) # --- TimersManager connection methods --- - def register_timers_manager(self, timer_manager_module): + def register_timers_manager(self, timer_manager_addon): """Store TimersManager for future use.""" - self._timers_manager_module = timer_manager_module + self._timer_manager_addon = timer_manager_addon def timer_started(self, data): """Tell TimersManager that timer started.""" - if self._timers_manager_module is not None: - self._timers_manager_module.timer_started(self.id, data) + if self._timer_manager_addon is not None: + self._timer_manager_addon.timer_started(self.id, data) def timer_stopped(self): """Tell TimersManager that timer stopped.""" - if self._timers_manager_module is not None: - self._timers_manager_module.timer_stopped(self.id) + if self._timer_manager_addon is not None: + self._timer_manager_addon.timer_stopped(self.id) def stop_timer(self): """Called from TimersManager to stop timer.""" diff --git a/server_addon/clockify/client/ayon_clockify/clockify_api.py b/server_addon/clockify/client/ayon_clockify/clockify_api.py index 2e1d8f008f..38ca6cdb66 100644 --- a/server_addon/clockify/client/ayon_clockify/clockify_api.py +++ b/server_addon/clockify/client/ayon_clockify/clockify_api.py @@ -1,15 +1,17 @@ import os import json import datetime + import requests + +from ayon_core.lib.local_settings import AYONSecureRegistry +from ayon_core.lib import Logger + from .constants import ( CLOCKIFY_ENDPOINT, ADMIN_PERMISSION_NAMES, ) -from ayon_core.lib.local_settings import AYONSecureRegistry -from ayon_core.lib import Logger - class ClockifyAPI: log = Logger.get_logger(__name__) diff --git a/server_addon/clockify/client/ayon_clockify/ftrack/server/action_clockify_sync_server.py b/server_addon/clockify/client/ayon_clockify/ftrack/server/action_clockify_sync_server.py index 7854f0ceba..ed83fed287 100644 --- a/server_addon/clockify/client/ayon_clockify/ftrack/server/action_clockify_sync_server.py +++ b/server_addon/clockify/client/ayon_clockify/ftrack/server/action_clockify_sync_server.py @@ -1,7 +1,9 @@ import os import json -from openpype_modules.ftrack.lib import ServerAction -from openpype_modules.clockify.clockify_api import ClockifyAPI + +from ayon_clockify.clockify_api import ClockifyAPI + +from ayon_ftrack.lib import ServerAction class SyncClockifyServer(ServerAction): diff --git a/server_addon/clockify/client/ayon_clockify/ftrack/user/action_clockify_sync_local.py b/server_addon/clockify/client/ayon_clockify/ftrack/user/action_clockify_sync_local.py index 4701653a0b..05a94e56fd 100644 --- a/server_addon/clockify/client/ayon_clockify/ftrack/user/action_clockify_sync_local.py +++ b/server_addon/clockify/client/ayon_clockify/ftrack/user/action_clockify_sync_local.py @@ -1,25 +1,20 @@ import json -from openpype_modules.ftrack.lib import BaseAction, statics_icon -from openpype_modules.clockify.clockify_api import ClockifyAPI +from ayon_clockify.clockify_api import ClockifyAPI +from ayon_ftrack.lib import BaseAction, statics_icon class SyncClockifyLocal(BaseAction): - '''Synchronise project names and task types.''' + """Synchronise project names and task types.""" - #: Action identifier. - identifier = 'clockify.sync.local' - #: Action label. - label = 'Sync To Clockify (local)' - #: Action description. - description = 'Synchronise data to Clockify workspace' - #: roles that are allowed to register this action + identifier = "clockify.sync.local" + label = "Sync To Clockify" + description = "Synchronise data to Clockify workspace" role_list = ["Administrator", "project Manager"] - #: icon icon = statics_icon("app_icons", "clockify-white.png") def __init__(self, *args, **kwargs): super(SyncClockifyLocal, self).__init__(*args, **kwargs) - #: CLockifyApi + self.clockify_api = ClockifyAPI() def discover(self, session, entities, event): @@ -56,7 +51,7 @@ class SyncClockifyLocal(BaseAction): 'user': user, 'status': 'running', 'data': json.dumps({ - 'description': 'Sync Ftrack to Clockify' + 'description': 'Sync ftrack to Clockify' }) }) session.commit() diff --git a/server_addon/clockify/client/ayon_clockify/launcher_actions/ClockifyStart.py b/server_addon/clockify/client/ayon_clockify/launcher_actions/ClockifyStart.py index 8381c7d73e..d69d0371c0 100644 --- a/server_addon/clockify/client/ayon_clockify/launcher_actions/ClockifyStart.py +++ b/server_addon/clockify/client/ayon_clockify/launcher_actions/ClockifyStart.py @@ -1,7 +1,8 @@ import ayon_api +from ayon_clockify.clockify_api import ClockifyAPI + from ayon_core.pipeline import LauncherAction -from openpype_modules.clockify.clockify_api import ClockifyAPI class ClockifyStart(LauncherAction): diff --git a/server_addon/clockify/client/ayon_clockify/launcher_actions/ClockifySync.py b/server_addon/clockify/client/ayon_clockify/launcher_actions/ClockifySync.py index 5388f47c98..a32f2a8082 100644 --- a/server_addon/clockify/client/ayon_clockify/launcher_actions/ClockifySync.py +++ b/server_addon/clockify/client/ayon_clockify/launcher_actions/ClockifySync.py @@ -1,6 +1,6 @@ import ayon_api -from openpype_modules.clockify.clockify_api import ClockifyAPI +from ayon_clockify.clockify_api import ClockifyAPI from ayon_core.pipeline import LauncherAction diff --git a/server_addon/clockify/client/ayon_clockify/version.py b/server_addon/clockify/client/ayon_clockify/version.py new file mode 100644 index 0000000000..0e6e40cb7d --- /dev/null +++ b/server_addon/clockify/client/ayon_clockify/version.py @@ -0,0 +1,3 @@ +# -*- coding: utf-8 -*- +"""Package declaring AYON addon 'clockify' version.""" +__version__ = "0.2.0" diff --git a/server_addon/clockify/package.py b/server_addon/clockify/package.py index bcf9425b3f..1a36c43e69 100644 --- a/server_addon/clockify/package.py +++ b/server_addon/clockify/package.py @@ -1,3 +1,3 @@ name = "clockify" title = "Clockify" -version = "0.1.1" +version = "0.2.0" From 5f387f052dd16a6a186579dbcde6c53cbe84408c Mon Sep 17 00:00:00 2001 From: Jakub Trllo <43494761+iLLiCiTiT@users.noreply.github.com> Date: Tue, 21 May 2024 16:03:06 +0200 Subject: [PATCH 3/4] added clockify version requirement in ayon core --- client/ayon_core/addon/base.py | 1 + 1 file changed, 1 insertion(+) diff --git a/client/ayon_core/addon/base.py b/client/ayon_core/addon/base.py index 21b1193b07..431e9b651b 100644 --- a/client/ayon_core/addon/base.py +++ b/client/ayon_core/addon/base.py @@ -51,6 +51,7 @@ IGNORED_MODULES_IN_AYON = set() # - this is used to log the missing addon MOVED_ADDON_MILESTONE_VERSIONS = { "applications": VersionInfo(0, 2, 0), + "clockify": VersionInfo(0, 2, 0), } # Inherit from `object` for Python 2 hosts From 2ff82353753a7557f628c1cb439ff7dd1e3255c8 Mon Sep 17 00:00:00 2001 From: Jakub Trllo <43494761+iLLiCiTiT@users.noreply.github.com> Date: Tue, 21 May 2024 16:03:16 +0200 Subject: [PATCH 4/4] add more information to package.py --- server_addon/clockify/package.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/server_addon/clockify/package.py b/server_addon/clockify/package.py index 1a36c43e69..9482d7e0f7 100644 --- a/server_addon/clockify/package.py +++ b/server_addon/clockify/package.py @@ -1,3 +1,9 @@ name = "clockify" title = "Clockify" version = "0.2.0" +client_dir = "ayon_clockify" + +ayon_required_addons = { + "core": ">0.3.1", +} +ayon_compatible_addons = {}