diff --git a/pype/ftrack/actions/action_syncToAvalon.py b/pype/ftrack/actions/action_syncToAvalon.py index 851820cf1d..f7fd8e9641 100644 --- a/pype/ftrack/actions/action_syncToAvalon.py +++ b/pype/ftrack/actions/action_syncToAvalon.py @@ -77,7 +77,7 @@ class SyncToAvalon(BaseAction): duplicates = [] for e in self.importable: - lib.avalon_check_name(e) + ftrack_utils.avalon_check_name(e) if e['name'] in all_names: duplicates.append("'{}'".format(e['name'])) else: diff --git a/pype/ftrack/actions/ftrack_action_handler.py b/pype/ftrack/actions/ftrack_action_handler.py index fa108ec78b..f16647be76 100644 --- a/pype/ftrack/actions/ftrack_action_handler.py +++ b/pype/ftrack/actions/ftrack_action_handler.py @@ -74,6 +74,8 @@ class AppAction(object): self._launch ) + self.log.info("Application '{}' - Registered successfully".format(self.label)) + def _discover(self, event): args = self._translate_event( self.session, event @@ -435,7 +437,8 @@ class BaseAction(object): ), self._launch ) - self.log.info("----- action - <" + self.__class__.__name__ + "> - Has been registered -----") + + self.log.info("Action '{}' - Registered successfully".format(self.__class__.__name__)) def _discover(self, event): args = self._translate_event( diff --git a/pype/ftrack/ftrack_utils.py b/pype/ftrack/ftrack_utils.py index 23531a9fdd..829733efef 100644 --- a/pype/ftrack/ftrack_utils.py +++ b/pype/ftrack/ftrack_utils.py @@ -4,10 +4,38 @@ import ftrack_api import os from pprint import * +def avalon_check_name(self, entity, inSchema = None): + alright = True + name = entity['name'] + if " " in name: + alright = False -def checkLogin(): - # check Environments FTRACK_API_USER, FTRACK_API_KEY - pass + data = {} + data['data'] = {} + data['type'] = 'asset' + schema = "avalon-core:asset-2.0" + # TODO have project any REGEX check? + if entity.entity_type in ['Project']: + # data['type'] = 'project' + name = entity['full_name'] + # schema = get_avalon_project_template_schema()['schema'] + # elif entity.entity_type in ['AssetBuild','Library']: + # data['silo'] = 'Assets' + # else: + # data['silo'] = 'Film' + data['silo'] = 'Film' + + if inSchema is not None: + schema = inSchema + data['schema'] = schema + data['name'] = name + try: + avalon.schema.validate(data) + except ValidationError: + alright = False + + if alright is False: + raise ValueError("{} includes unsupported symbols like 'dash' or 'space'".format(name)) def checkRegex(): diff --git a/pype/lib.py b/pype/lib.py index 43f41b336c..0b9e066703 100644 --- a/pype/lib.py +++ b/pype/lib.py @@ -364,36 +364,3 @@ def get_avalon_project_template(): # proj_template['work'] = template.anatomy.avalon.work # proj_template['publish'] = template.anatomy.avalon.publish return proj_template - -def avalon_check_name(self, entity, inSchema = None): - alright = True - name = entity['name'] - if " " in name: - alright = False - - data = {} - data['data'] = {} - data['type'] = 'asset' - schema = "avalon-core:asset-2.0" - # TODO have project any REGEX check? - if entity.entity_type in ['Project']: - # data['type'] = 'project' - name = entity['full_name'] - # schema = get_avalon_project_template_schema()['schema'] - # elif entity.entity_type in ['AssetBuild','Library']: - # data['silo'] = 'Assets' - # else: - # data['silo'] = 'Film' - data['silo'] = 'Film' - - if inSchema is not None: - schema = inSchema - data['schema'] = schema - data['name'] = name - try: - avalon.schema.validate(data) - except ValidationError: - alright = False - - if alright is False: - raise ValueError("{} includes unsupported symbols like 'dash' or 'space'".format(name))