diff --git a/client/ayon_core/addon/base.py b/client/ayon_core/addon/base.py index d9bd5b6af3..d49358b0d2 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), "tvpaint": VersionInfo(0, 2, 0), } diff --git a/client/ayon_core/modules/clockify/__init__.py b/client/ayon_core/modules/clockify/__init__.py deleted file mode 100644 index 98834b516c..0000000000 --- a/client/ayon_core/modules/clockify/__init__.py +++ /dev/null @@ -1,5 +0,0 @@ -from .clockify_module import ClockifyModule - -__all__ = ( - "ClockifyModule", -) diff --git a/server_addon/clockify/client/ayon_clockify/__init__.py b/server_addon/clockify/client/ayon_clockify/__init__.py new file mode 100644 index 0000000000..75fb87494e --- /dev/null +++ b/server_addon/clockify/client/ayon_clockify/__init__.py @@ -0,0 +1,5 @@ +from .addon import ClockifyAddon + +__all__ = ( + "ClockifyAddon", +) diff --git a/client/ayon_core/modules/clockify/clockify_module.py b/server_addon/clockify/client/ayon_clockify/addon.py similarity index 93% rename from client/ayon_core/modules/clockify/clockify_module.py rename to server_addon/clockify/client/ayon_clockify/addon.py index d2ee4f1e1e..ce91b2be70 100644 --- a/client/ayon_core/modules/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/client/ayon_core/modules/clockify/clockify_api.py b/server_addon/clockify/client/ayon_clockify/clockify_api.py similarity index 99% rename from client/ayon_core/modules/clockify/clockify_api.py rename to server_addon/clockify/client/ayon_clockify/clockify_api.py index 2e1d8f008f..38ca6cdb66 100644 --- a/client/ayon_core/modules/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/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 97% 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 index 7854f0ceba..ed83fed287 100644 --- 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 @@ -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/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 87% 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 index 4701653a0b..05a94e56fd 100644 --- 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 @@ -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/client/ayon_core/modules/clockify/launcher_actions/ClockifyStart.py b/server_addon/clockify/client/ayon_clockify/launcher_actions/ClockifyStart.py similarity index 96% rename from client/ayon_core/modules/clockify/launcher_actions/ClockifyStart.py rename to server_addon/clockify/client/ayon_clockify/launcher_actions/ClockifyStart.py index 8381c7d73e..d69d0371c0 100644 --- a/client/ayon_core/modules/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/client/ayon_core/modules/clockify/launcher_actions/ClockifySync.py b/server_addon/clockify/client/ayon_clockify/launcher_actions/ClockifySync.py similarity index 97% rename from client/ayon_core/modules/clockify/launcher_actions/ClockifySync.py rename to server_addon/clockify/client/ayon_clockify/launcher_actions/ClockifySync.py index 5388f47c98..a32f2a8082 100644 --- a/client/ayon_core/modules/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/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 diff --git a/server_addon/clockify/package.py b/server_addon/clockify/package.py index bcf9425b3f..9482d7e0f7 100644 --- a/server_addon/clockify/package.py +++ b/server_addon/clockify/package.py @@ -1,3 +1,9 @@ name = "clockify" title = "Clockify" -version = "0.1.1" +version = "0.2.0" +client_dir = "ayon_clockify" + +ayon_required_addons = { + "core": ">0.3.1", +} +ayon_compatible_addons = {}