diff --git a/pype/ftrack/actions/action_create_cust_attrs.py b/pype/ftrack/actions/action_create_cust_attrs.py index f75d10591d..fb57221ccd 100644 --- a/pype/ftrack/actions/action_create_cust_attrs.py +++ b/pype/ftrack/actions/action_create_cust_attrs.py @@ -137,7 +137,7 @@ class CustomAttributes(BaseAction): 'dynamic enumerator', 'number' ] - def prediscover(self, event): + def discover(self, session, entities, event): ''' Validation - action is only for Administrators diff --git a/pype/ftrack/actions/action_create_folders.py b/pype/ftrack/actions/action_create_folders.py index 6ccb571dd9..7ce5526164 100644 --- a/pype/ftrack/actions/action_create_folders.py +++ b/pype/ftrack/actions/action_create_folders.py @@ -26,7 +26,7 @@ class CreateFolders(BaseAction): '698620-icon-105-folder-add-512.png' ) - def prediscover(self, event): + def discover(self, session, entities, event): ''' Validation ''' return True diff --git a/pype/ftrack/actions/action_delete_asset.py b/pype/ftrack/actions/action_delete_asset.py index e453edcaa4..7a4c15e9fb 100644 --- a/pype/ftrack/actions/action_delete_asset.py +++ b/pype/ftrack/actions/action_delete_asset.py @@ -28,14 +28,13 @@ class DeleteAsset(BaseAction): value = None - def prediscover(self, event): + def discover(self, session, entities, event): ''' Validation ''' - selection = event["data"].get("selection", None) - if selection is None or len(selection) > 1: + if len(entities) != 1: return False valid = ["task"] - entityType = selection[0].get("entityType", "") + entityType = event["data"]["selection"][0].get("entityType", "") if entityType.lower() not in valid: return False diff --git a/pype/ftrack/actions/action_delete_asset_byname.py b/pype/ftrack/actions/action_delete_asset_byname.py index e1480bb092..ee6f875ad3 100644 --- a/pype/ftrack/actions/action_delete_asset_byname.py +++ b/pype/ftrack/actions/action_delete_asset_byname.py @@ -25,14 +25,13 @@ class AssetsRemover(BaseAction): #: Db db = DbConnector() - def prediscover(self, event): + def discover(self, session, entities, event): ''' Validation ''' - selection = event["data"].get("selection", None) - if selection is None or len(selection) != 1: + if len(entities) != 1: return False valid = ["show", "task"] - entityType = selection[0].get("entityType", "") + entityType = event["data"]["selection"][0].get("entityType", "") if entityType.lower() not in valid: return False diff --git a/pype/ftrack/actions/action_job_killer.py b/pype/ftrack/actions/action_job_killer.py index 4324fceda8..d8d0e81cb1 100644 --- a/pype/ftrack/actions/action_job_killer.py +++ b/pype/ftrack/actions/action_job_killer.py @@ -23,7 +23,8 @@ class JobKiller(BaseAction): 'https://cdn2.iconfinder.com/data/icons/new-year-resolutions/64/' 'resolutions-23-512.png' ) - def prediscover(self, event): + + def discover(self, session, entities, event): ''' Validation ''' return True diff --git a/pype/ftrack/actions/action_test.py b/pype/ftrack/actions/action_test.py index a55d971db2..989fc45b60 100644 --- a/pype/ftrack/actions/action_test.py +++ b/pype/ftrack/actions/action_test.py @@ -31,7 +31,8 @@ class TestAction(BaseAction): 'https://cdn4.iconfinder.com/data/icons/hospital-19/512/' '8_hospital-512.png' ) - def prediscover(self, event): + + def discover(self, session, entities, event): ''' Validation ''' return True diff --git a/pype/ftrack/lib/ftrack_base_handler.py b/pype/ftrack/lib/ftrack_base_handler.py index 9d94d50072..242d3a5c89 100644 --- a/pype/ftrack/lib/ftrack_base_handler.py +++ b/pype/ftrack/lib/ftrack_base_handler.py @@ -129,25 +129,20 @@ class BaseHandler(object): 'icon': self.icon, }] } - accepts = self.prediscover(event) - if accepts is None: - args = self._translate_event( - self.session, event - ) - accepts = self.discover( - self.session, *args - ) + args = self._translate_event( + self.session, event + ) + + accepts = self.discover( + self.session, *args + ) if accepts is True: self.log.debug(u'Discovering action with selection: {0}'.format( event['data'].get('selection', []))) return items - def prediscover(self, event): - "return True if can handle selected entities before handling entities" - return None - def discover(self, session, entities, event): '''Return true if we can handle the selected entities.