From 83660c78dea19ede554b1be818ff7bf6b379cd2c Mon Sep 17 00:00:00 2001 From: Jakub Trllo Date: Tue, 29 Jan 2019 10:44:43 +0100 Subject: [PATCH 1/2] whitespaces are removed from mongo_id string and tested converting to ObjectId --- pype/ftrack/lib/avalon_sync.py | 5 +++++ 1 file changed, 5 insertions(+) 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( From c5e3ee55ddafedf636b2c933768bdf67a18a7474 Mon Sep 17 00:00:00 2001 From: Jakub Trllo Date: Tue, 29 Jan 2019 10:50:47 +0100 Subject: [PATCH 2/2] fill os.env AVALON_ requirements before io.install() in templates --- pype/lib.py | 18 +++++++++++------- pype/templates.py | 4 ++-- 2 files changed, 13 insertions(+), 9 deletions(-) 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():