diff --git a/pype/ftrack/lib/avalon_sync.py b/pype/ftrack/lib/avalon_sync.py index fea07ec7dc..cb33c76a30 100644 --- a/pype/ftrack/lib/avalon_sync.py +++ b/pype/ftrack/lib/avalon_sync.py @@ -177,6 +177,11 @@ def import_to_avalon( return output mongo_id = entity['custom_attributes'][ca_mongoid] + mongo_id = mongo_id.replace(' ', '').replace('\n', '') + try: + ObjectId(mongo_id) + except Exception: + mongo_id = '' if mongo_id is not '': avalon_asset = database[project_name].find_one( diff --git a/pype/lib.py b/pype/lib.py index a1834e13ee..f0ffba3085 100644 --- a/pype/lib.py +++ b/pype/lib.py @@ -442,16 +442,20 @@ def get_avalon_asset_template_schema(): def get_avalon_database(): if io._database is None: - project = os.environ.get('AVALON_PROJECT', '') - asset = os.environ.get('AVALON_ASSET', '') - silo = os.environ.get('AVALON_SILO', '') - os.environ['AVALON_PROJECT'] = project - os.environ['AVALON_ASSET'] = asset - os.environ['AVALON_SILO'] = silo - io.install() + set_io_database() return io._database +def set_io_database(): + project = os.environ.get('AVALON_PROJECT', '') + asset = os.environ.get('AVALON_ASSET', '') + silo = os.environ.get('AVALON_SILO', '') + os.environ['AVALON_PROJECT'] = project + os.environ['AVALON_ASSET'] = asset + os.environ['AVALON_SILO'] = silo + io.install() + + def get_all_avalon_projects(): db = get_avalon_database() project_names = db.collection_names() diff --git a/pype/templates.py b/pype/templates.py index ccfa3216f2..cf246defb3 100644 --- a/pype/templates.py +++ b/pype/templates.py @@ -2,14 +2,14 @@ import os import re from avalon import io from avalon import api as avalon - +from . import lib from app.api import (Templates, Logger, format) log = Logger.getLogger(__name__, os.getenv("AVALON_APP", "pype-config")) SESSION = avalon.session if not SESSION: - io.install() + lib.set_io_database() def load_data_from_templates():