From 246bf8f1403cb9bc40cab5498eddb85f771cabe6 Mon Sep 17 00:00:00 2001 From: iLLiCiTiT Date: Thu, 16 Dec 2021 16:54:16 +0100 Subject: [PATCH] use get_timer_data_for_context in start_timer and don't expect hierarchy --- .../timers_manager/rest_api.py | 15 +++--- .../timers_manager/timers_manager.py | 47 ++++--------------- 2 files changed, 18 insertions(+), 44 deletions(-) diff --git a/openpype/modules/default_modules/timers_manager/rest_api.py b/openpype/modules/default_modules/timers_manager/rest_api.py index 19b72d688b..4296610c23 100644 --- a/openpype/modules/default_modules/timers_manager/rest_api.py +++ b/openpype/modules/default_modules/timers_manager/rest_api.py @@ -39,17 +39,18 @@ class TimersManagerModuleRestApi: async def start_timer(self, request): data = await request.json() try: - project_name = data['project_name'] - asset_name = data['asset_name'] - task_name = data['task_name'] - hierarchy = data['hierarchy'] + project_name = data["project_name"] + asset_name = data["asset_name"] + task_name = data["task_name"] except KeyError: - log.error("Payload must contain fields 'project_name, " + - "'asset_name', 'task_name', 'hierarchy'") + log.error(( + "Payload must contain fields 'project_name," + " 'asset_name' and 'task_name'" + )) return Response(status=400) self.module.stop_timers() - self.module.start_timer(project_name, asset_name, task_name, hierarchy) + self.module.start_timer(project_name, asset_name, task_name) return Response(status=200) async def stop_timer(self, request): diff --git a/openpype/modules/default_modules/timers_manager/timers_manager.py b/openpype/modules/default_modules/timers_manager/timers_manager.py index 6541a9197c..fc9897b022 100644 --- a/openpype/modules/default_modules/timers_manager/timers_manager.py +++ b/openpype/modules/default_modules/timers_manager/timers_manager.py @@ -189,44 +189,17 @@ class TimersManager(OpenPypeModule, ITrayService): "hierarchy": hierarchy_items } - def start_timer(self, project_name, asset_name, task_name, hierarchy): + def start_timer(self, project_name, asset_name, task_name): + """Start timer for passed context. + + Args: + project_name (str): Project name + asset_name (str): Asset name + task_name (str): Task name """ - Start timer for 'project_name', 'asset_name' and 'task_name' - - Called from REST api by hosts. - - Args: - project_name (string) - asset_name (string) - task_name (string) - hierarchy (string) - """ - dbconn = AvalonMongoDB() - dbconn.install() - dbconn.Session["AVALON_PROJECT"] = project_name - - asset_doc = dbconn.find_one({ - "type": "asset", "name": asset_name - }) - if not asset_doc: - raise ValueError("Uknown asset {}".format(asset_name)) - - task_type = '' - try: - task_type = asset_doc["data"]["tasks"][task_name]["type"] - except KeyError: - self.log.warning("Couldn't find task_type for {}". - format(task_name)) - - hierarchy = hierarchy.split("\\") - hierarchy.append(asset_name) - - data = { - "project_name": project_name, - "task_name": task_name, - "task_type": task_type, - "hierarchy": hierarchy - } + data = self.get_timer_data_for_context( + project_name, asset_name, task_name + ) self.timer_started(None, data) def get_task_time(self, project_name, asset_name, task_name):