From 65c5df27539f9da50839959aa3910030578a2f79 Mon Sep 17 00:00:00 2001 From: Jakub Trllo Date: Fri, 22 Feb 2019 14:38:50 +0100 Subject: [PATCH] checking djv app file only once --- pype/ftrack/actions/action_djvview.py | 42 ++++++++++++++------------- 1 file changed, 22 insertions(+), 20 deletions(-) diff --git a/pype/ftrack/actions/action_djvview.py b/pype/ftrack/actions/action_djvview.py index 0be3624f2d..588f3ac91f 100644 --- a/pype/ftrack/actions/action_djvview.py +++ b/pype/ftrack/actions/action_djvview.py @@ -19,6 +19,27 @@ class DJVViewAction(BaseHandler): '''Expects a ftrack_api.Session instance''' super().__init__(session) + items = [] + applications = self.get_applications() + applications = sorted( + applications, key=lambda application: application["label"] + ) + + for application in applications: + self.djv_path = application.get("path", None) + applicationIdentifier = application["identifier"] + label = application["label"] + items.append({ + "actionIdentifier": self.identifier, + "label": label, + "variant": application.get("variant", None), + "description": application.get("description", None), + "icon": application.get("icon", "default"), + "applicationIdentifier": applicationIdentifier + }) + + self.items = items + if self.identifier is None: raise ValueError( 'Action missing identifier.' @@ -43,27 +64,8 @@ class DJVViewAction(BaseHandler): if not self.is_valid_selection(event): return - items = [] - applications = self.get_applications() - applications = sorted( - applications, key=lambda application: application["label"] - ) - - for application in applications: - self.djv_path = application.get("path", None) - applicationIdentifier = application["identifier"] - label = application["label"] - items.append({ - "actionIdentifier": self.identifier, - "label": label, - "variant": application.get("variant", None), - "description": application.get("description", None), - "icon": application.get("icon", "default"), - "applicationIdentifier": applicationIdentifier - }) - return { - "items": items + "items": self.items } def register(self):