diff --git a/pype/__init__.py b/pype/__init__.py index 8bd31c060d..755ffa9e7a 100644 --- a/pype/__init__.py +++ b/pype/__init__.py @@ -9,11 +9,11 @@ from .lib import collect_container_metadata import logging log = logging.getLogger(__name__) -# do not delete these are mandatory -Anatomy = None -Dataflow = None -Metadata = None -Colorspace = None +# # do not delete these are mandatory +# Anatomy = None +# Dataflow = None +# Metadata = None +# Colorspace = None PACKAGE_DIR = os.path.dirname(__file__) PLUGINS_DIR = os.path.join(PACKAGE_DIR, "plugins") diff --git a/pype/api.py b/pype/api.py index 5230a41405..e42c58fab7 100644 --- a/pype/api.py +++ b/pype/api.py @@ -15,14 +15,14 @@ from .action import ( RepairContextAction ) -from pypeapp.api import Logger +from pypeapp import Logger -from . import ( - Anatomy, - Colorspace, - Metadata, - Dataflow -) +# from . import ( +# Anatomy, +# Colorspace, +# Metadata, +# Dataflow +# ) from .templates import ( load_data_from_templates, diff --git a/pype/aport/__init__.py b/pype/aport/__init__.py index 4efcb731c7..68d16ace9f 100644 --- a/pype/aport/__init__.py +++ b/pype/aport/__init__.py @@ -7,7 +7,7 @@ from app import api as app from .. import api -log = api.Logger.getLogger(__name__, "aport") +log = api.Logger().get_logger(__name__, "aport") AVALON_CONFIG = os.getenv("AVALON_CONFIG", "pype") diff --git a/pype/aport/api.py b/pype/aport/api.py index 4d202b6e7a..1b84536285 100644 --- a/pype/aport/api.py +++ b/pype/aport/api.py @@ -19,7 +19,7 @@ from app.api import forward from pype import api as pype -log = pype.Logger.getLogger(__name__, "aport") +log = pype.Logger().get_logger(__name__, "aport") SESSION = avalon.session diff --git a/pype/aport/original/api.py b/pype/aport/original/api.py index bc2a71a08c..8ed24402b4 100644 --- a/pype/aport/original/api.py +++ b/pype/aport/original/api.py @@ -19,7 +19,7 @@ from app.api import forward from pype import api as pype -log = pype.Logger.getLogger(__name__, "aport") +log = pype.Logger().get_logger(__name__, "aport") SESSION = avalon.session diff --git a/pype/aport/pipeline.py b/pype/aport/pipeline.py index dee41aff34..4c9cf7aa60 100644 --- a/pype/aport/pipeline.py +++ b/pype/aport/pipeline.py @@ -20,7 +20,7 @@ for name, handler in [(handler.get_name(), handler) if "pype" not in str(name).lower(): pype.Logger.logging.root.removeHandler(handler) -log = pype.Logger.getLogger(__name__, "aport") +log = pype.Logger().get_logger(__name__, "aport") SESSION = avalon.session diff --git a/pype/aport/templates.py b/pype/aport/templates.py index 5be6e276ba..2db1d58004 100644 --- a/pype/aport/templates.py +++ b/pype/aport/templates.py @@ -1,6 +1,6 @@ from pype import api as pype -log = pype.Logger.getLogger(__name__, "aport") +log = pype.Logger().get_logger(__name__, "aport") def get_anatomy(**kwarg): diff --git a/pype/avalon_apps/avalon_app.py b/pype/avalon_apps/avalon_app.py index efad3f3ce0..0b2553c4d9 100644 --- a/pype/avalon_apps/avalon_app.py +++ b/pype/avalon_apps/avalon_app.py @@ -2,7 +2,7 @@ import os import argparse from Qt import QtGui, QtWidgets from avalon.tools import libraryloader -from pypeapp.api import Logger +from pypeapp import Logger from avalon import io from launcher import launcher_widget, lib as launcher_lib diff --git a/pype/ftrack/actions/action_application_loader.py b/pype/ftrack/actions/action_application_loader.py index 9cca5ea047..f98f1b1e0d 100644 --- a/pype/ftrack/actions/action_application_loader.py +++ b/pype/ftrack/actions/action_application_loader.py @@ -2,7 +2,7 @@ import toml import time from pype.ftrack import AppAction from avalon import lib -from pypeapp.api import Logger +from pypeapp import Logger from pype import lib as pypelib log = Logger().get_logger(__name__) diff --git a/pype/ftrack/actions/action_create_cust_attrs.py b/pype/ftrack/actions/action_create_cust_attrs.py index 09749cf2c5..fcd4569f6a 100644 --- a/pype/ftrack/actions/action_create_cust_attrs.py +++ b/pype/ftrack/actions/action_create_cust_attrs.py @@ -6,7 +6,7 @@ import arrow import logging from pype.vendor import ftrack_api from pype.ftrack import BaseAction, get_ca_mongoid -from pypeapp.lib.config import get_presets +from pypeapp.config import get_presets """ This action creates/updates custom attributes. diff --git a/pype/ftrack/ftrack_server/event_server_cli.py b/pype/ftrack/ftrack_server/event_server_cli.py index 2e9519df26..eee2c81eb5 100644 --- a/pype/ftrack/ftrack_server/event_server_cli.py +++ b/pype/ftrack/ftrack_server/event_server_cli.py @@ -1,9 +1,9 @@ import sys from pype.ftrack import credentials from pype.ftrack.ftrack_server import FtrackServer -from pypeapp import api +from pypeapp import Logger -log = api.Logger().get_logger(__name__, "ftrack-event-server-cli") +log = Logger().get_logger(__name__, "ftrack-event-server-cli") possible_yes = ['y', 'yes'] possible_no = ['n', 'no'] diff --git a/pype/ftrack/ftrack_server/ftrack_server.py b/pype/ftrack/ftrack_server/ftrack_server.py index 27207edc48..831d33c4d7 100644 --- a/pype/ftrack/ftrack_server/ftrack_server.py +++ b/pype/ftrack/ftrack_server/ftrack_server.py @@ -5,7 +5,7 @@ import importlib from pype.vendor import ftrack_api import time import logging -from pypeapp.api import Logger +from pypeapp import Logger log = Logger().get_logger(__name__) diff --git a/pype/ftrack/lib/avalon_sync.py b/pype/ftrack/lib/avalon_sync.py index 56fe5f1ed2..851b6f3ed6 100644 --- a/pype/ftrack/lib/avalon_sync.py +++ b/pype/ftrack/lib/avalon_sync.py @@ -8,7 +8,7 @@ import avalon import avalon.api from avalon import schema from avalon.vendor import toml, jsonschema -from pypeapp.api import Logger +from pypeapp import Logger ValidationError = jsonschema.ValidationError diff --git a/pype/ftrack/lib/ftrack_app_handler.py b/pype/ftrack/lib/ftrack_app_handler.py index fd5b758f22..6d07a39f81 100644 --- a/pype/ftrack/lib/ftrack_app_handler.py +++ b/pype/ftrack/lib/ftrack_app_handler.py @@ -8,6 +8,8 @@ from pype import lib as pypelib from .avalon_sync import get_config_data from .ftrack_base_handler import BaseHandler +from pypeapp import Anatomy + class AppAction(BaseHandler): '''Custom Action base class @@ -169,7 +171,8 @@ class AppAction(BaseHandler): os.environ["AVALON_APP"] = self.identifier.split("_")[0] os.environ["AVALON_APP_NAME"] = self.identifier - anatomy = pype.Anatomy + anatomy = Anatomy(project_name=project_name) + hierarchy = "" parents = database[project_name].find_one({ "type": 'asset', @@ -179,20 +182,21 @@ class AppAction(BaseHandler): if parents: hierarchy = os.path.join(*parents) - data = {"project": {"name": entity['project']['full_name'], + data = { + "root": os.environ.get("PYPE_STUDIO_PROJECTS_PATH"), + "project": {"name": entity['project']['full_name'], "code": entity['project']['name']}, "task": entity['name'], "asset": entity['parent']['name'], "hierarchy": hierarchy} try: - anatomy = anatomy.format(data) + anatomy_filled = anatomy.format(data) + # anatomy = anatomy.format(data) except Exception as e: self.log.error( "{0} Error in anatomy.format: {1}".format(__name__, e) ) - os.environ["AVALON_WORKDIR"] = os.path.join( - anatomy.work.root, anatomy.work.folder - ) + os.environ["AVALON_WORKDIR"] = anatomy_filled['work']['folder'] # collect all parents from the task parents = [] @@ -210,13 +214,22 @@ class AppAction(BaseHandler): tools_env = acre.get_tools(tools_attr) env = acre.compute(tools_env) env = acre.merge(env, current_env=dict(os.environ)) + env = acre.append(dict(os.environ), env) + + + # + # tools_env = acre.get_tools(tools) + # env = acre.compute(dict(tools_env)) + # env = acre.merge(env, dict(os.environ)) + # os.environ = acre.append(dict(os.environ), env) + # os.environ = acre.compute(os.environ) # Get path to execute - st_temp_path = os.environ['PYPE_STUDIO_TEMPLATES'] + st_temp_path = os.environ['PYPE_CONFIG'] os_plat = platform.system().lower() # Path to folder with launchers - path = os.path.join(st_temp_path, 'bin', os_plat) + path = os.path.join(st_temp_path, 'launchers', os_plat) # Full path to executable launcher execfile = None @@ -321,6 +334,8 @@ class AppAction(BaseHandler): # Set origin avalon environments for key, value in env_origin.items(): + if value == None: + value = "" os.environ[key] = value return { diff --git a/pype/lib.py b/pype/lib.py index 43461582db..ece5a01e22 100644 --- a/pype/lib.py +++ b/pype/lib.py @@ -420,7 +420,9 @@ def get_avalon_project_template_schema(): def get_avalon_project_template(): - from app.api import Templates + # from app.api import Templates + + from pypeapp import Anatomy """ Get avalon template @@ -428,11 +430,11 @@ def get_avalon_project_template(): Returns: dictionary with templates """ - template = Templates(type=["anatomy"]) + anatomy = Anatomy(project_name=os.environ.get('AVALON_PROJECT')).anatomy proj_template = {} - proj_template['workfile'] = template.anatomy.avalon.workfile - proj_template['work'] = template.anatomy.avalon.work - proj_template['publish'] = template.anatomy.avalon.publish + proj_template['workfile'] = anatomy["avalon"]["workfile"] + proj_template['work'] = anatomy["avalon"]["work"] + proj_template['publish'] = anatomy["avalon"]["publish"] return proj_template @@ -467,7 +469,7 @@ def get_all_avalon_projects(): def get_presets_path(): - templates = os.environ['PYPE_STUDIO_TEMPLATES'] + templates = os.environ['PYPE_CONFIG'] path_items = [templates, 'presets'] filepath = os.path.sep.join(path_items) return filepath diff --git a/pype/nuke/__init__.py b/pype/nuke/__init__.py index ae00342f09..db04cda58f 100644 --- a/pype/nuke/__init__.py +++ b/pype/nuke/__init__.py @@ -13,14 +13,18 @@ from .lib import ( import nuke -# removing logger handler created in avalon_core -for name, handler in [(handler.get_name(), handler) - for handler in api.Logger.logging.root.handlers[:]]: - if "pype" not in str(name).lower(): - api.Logger.logging.root.removeHandler(handler) +from pypeapp import Logger + +# #removing logger handler created in avalon_core +# for name, handler in [(handler.get_name(), handler) +# for handler in Logger.logging.root.handlers[:]]: +# if "pype" not in str(name).lower(): +# Logger.logging.root.removeHandler(handler) -log = api.Logger.getLogger(__name__, "nuke") +log = Logger().get_logger(__name__, "nuke") + +# log = api.Logger.getLogger(__name__, "nuke") AVALON_CONFIG = os.getenv("AVALON_CONFIG", "pype") @@ -37,40 +41,40 @@ self = sys.modules[__name__] self.nLogger = None -class NukeHandler(api.Logger.logging.Handler): - ''' - Nuke Handler - emits logs into nuke's script editor. - warning will emit nuke.warning() - critical and fatal would popup msg dialog to alert of the error. - ''' +# class NukeHandler(Logger.logging.Handler): +# ''' +# Nuke Handler - emits logs into nuke's script editor. +# warning will emit nuke.warning() +# critical and fatal would popup msg dialog to alert of the error. +# ''' +# +# def __init__(self): +# api.Logger.logging.Handler.__init__(self) +# self.set_name("Pype_Nuke_Handler") +# +# def emit(self, record): +# # Formated message: +# msg = self.format(record) +# +# if record.levelname.lower() in [ +# # "warning", +# "critical", +# "fatal", +# "error" +# ]: +# nuke.message(msg) - def __init__(self): - api.Logger.logging.Handler.__init__(self) - self.set_name("Pype_Nuke_Handler") - - def emit(self, record): - # Formated message: - msg = self.format(record) - - if record.levelname.lower() in [ - # "warning", - "critical", - "fatal", - "error" - ]: - nuke.message(msg) - - -'''Adding Nuke Logging Handler''' -nuke_handler = NukeHandler() -if nuke_handler.get_name() \ - not in [handler.get_name() - for handler in api.Logger.logging.root.handlers[:]]: - api.Logger.logging.getLogger().addHandler(nuke_handler) - api.Logger.logging.getLogger().setLevel(api.Logger.logging.INFO) - -if not self.nLogger: - self.nLogger = api.Logger +# +# '''Adding Nuke Logging Handler''' +# nuke_handler = NukeHandler() +# if nuke_handler.get_name() \ +# not in [handler.get_name() +# for handler in Logger.logging.root.handlers[:]]: +# api.Logger.logging.getLogger().addHandler(nuke_handler) +# api.Logger.logging.getLogger().setLevel(Logger.logging.INFO) +# +# if not self.nLogger: +# self.nLogger = Logger def reload_config(): @@ -101,8 +105,14 @@ def reload_config(): def install(): - api.set_avalon_workdir() - reload_config() + # api.set_avalon_workdir() + # reload_config() + + import sys + + for path in sys.path: + if path.startswith("C:\\Users\\Public"): + sys.path.remove(path) log.info("Registering Nuke plug-ins..") pyblish.register_plugin_path(PUBLISH_PATH) @@ -124,7 +134,7 @@ def install(): menu.install() # load data from templates - api.load_data_from_templates() + # api.load_data_from_templates() def uninstall(): diff --git a/pype/nuke/lib.py b/pype/nuke/lib.py index 0f29484d9f..adc5f6b14a 100644 --- a/pype/nuke/lib.py +++ b/pype/nuke/lib.py @@ -7,7 +7,9 @@ import avalon.nuke import pype.api as pype import nuke -log = pype.Logger.getLogger(__name__, "nuke") +from pypeapp import Logger +log = Logger().get_logger(__name__, "nuke") + self = sys.modules[__name__] self._project = None diff --git a/pype/nuke/templates.py b/pype/nuke/templates.py index 16cb6062a2..4be350cbcb 100644 --- a/pype/nuke/templates.py +++ b/pype/nuke/templates.py @@ -1,6 +1,6 @@ from pype import api as pype -log = pype.Logger.getLogger(__name__, "nuke") +log = pype.Logger().get_logger(__name__, "nuke") def get_anatomy(**kwarg): diff --git a/pype/plugins/aport/publish/collect_context.py b/pype/plugins/aport/publish/collect_context.py index 4e27cefd09..f43e78120c 100644 --- a/pype/plugins/aport/publish/collect_context.py +++ b/pype/plugins/aport/publish/collect_context.py @@ -63,8 +63,8 @@ class CollectContextDataFromAport(pyblish.api.ContextPlugin): pyblish.api.register_host(host) # get path to studio templates - templates_dir = os.getenv("PYPE_STUDIO_TEMPLATES", None) - assert templates_dir, "Missing `PYPE_STUDIO_TEMPLATES` in os.environ" + templates_dir = os.getenv("PYPE_CONFIG", None) + assert templates_dir, "Missing `PYPE_CONFIG` in os.environ" # get presets for host presets_dir = os.path.join(templates_dir, "presets", host) diff --git a/pype/plugins/global/publish/collect_assumed_destination.py b/pype/plugins/global/publish/collect_assumed_destination.py index d5d3d9a846..058af12340 100644 --- a/pype/plugins/global/publish/collect_assumed_destination.py +++ b/pype/plugins/global/publish/collect_assumed_destination.py @@ -19,12 +19,15 @@ class CollectAssumedDestination(pyblish.api.InstancePlugin): self.create_destination_template(instance) template_data = instance.data["assumedTemplateData"] - # template = instance.data["template"] + template = instance.data["template"] anatomy = instance.context.data['anatomy'] + # self.log.info(anatomy.anatomy()) + self.log.info(anatomy.anatomy) # template = anatomy.publish.path anatomy_filled = anatomy.format(template_data) - mock_template = anatomy_filled.publish.path + self.log.info(anatomy_filled) + mock_template = anatomy_filled["publish"]["path"] # For now assume resources end up in a "resources" folder in the # published folder diff --git a/pype/plugins/launcher/actions/Aport.py b/pype/plugins/launcher/actions/Aport.py index 16906f6ce7..3773b90256 100644 --- a/pype/plugins/launcher/actions/Aport.py +++ b/pype/plugins/launcher/actions/Aport.py @@ -9,7 +9,7 @@ import pype.api as pype from pype.api import Logger -log = Logger.getLogger(__name__, "aport") +log = Logger().get_logger(__name__, "aport") class Aport(api.Action): diff --git a/pype/plugins/launcher/actions/AssetCreator.py b/pype/plugins/launcher/actions/AssetCreator.py index d6875bd7ff..579edebcea 100644 --- a/pype/plugins/launcher/actions/AssetCreator.py +++ b/pype/plugins/launcher/actions/AssetCreator.py @@ -7,7 +7,7 @@ from pype.tools import assetcreator from pype.api import Logger -log = Logger.getLogger(__name__, "aport") +log = Logger().get_logger(__name__, "asset_creator") class AssetCreator(api.Action): diff --git a/pype/plugins/nuke/create/create_read.py b/pype/plugins/nuke/create/create_read.py index 8597737167..e033bc63b0 100644 --- a/pype/plugins/nuke/create/create_read.py +++ b/pype/plugins/nuke/create/create_read.py @@ -6,7 +6,7 @@ from pype import api as pype import nuke -log = pype.Logger.getLogger(__name__, "nuke") +log = pype.Logger().get_logger(__name__, "nuke") class CrateRead(avalon.nuke.Creator): diff --git a/pype/plugins/nuke/create/create_write.py b/pype/plugins/nuke/create/create_write.py index af7462680e..83e6b043ed 100644 --- a/pype/plugins/nuke/create/create_write.py +++ b/pype/plugins/nuke/create/create_write.py @@ -5,11 +5,12 @@ from pype.nuke import ( create_write_node ) from pype import api as pype +# from pypeapp import Logger import nuke -log = pype.Logger.getLogger(__name__, "nuke") +log = pype.Logger().get_logger(__name__, "nuke") def subset_to_families(subset, family, families): diff --git a/pype/plugins/nuke/load/actions.py b/pype/plugins/nuke/load/actions.py index 449567987a..917e7e71b0 100644 --- a/pype/plugins/nuke/load/actions.py +++ b/pype/plugins/nuke/load/actions.py @@ -5,7 +5,7 @@ from avalon import api from pype.api import Logger -log = Logger.getLogger(__name__, "nuke") +log = Logger().get_logger(__name__, "nuke") class SetFrameRangeLoader(api.Loader): diff --git a/pype/plugins/nuke/load/load_sequence.py b/pype/plugins/nuke/load/load_sequence.py index a4a591e657..c82d697541 100644 --- a/pype/plugins/nuke/load/load_sequence.py +++ b/pype/plugins/nuke/load/load_sequence.py @@ -8,7 +8,7 @@ import avalon.io as io import nuke from pype.api import Logger -log = Logger.getLogger(__name__, "nuke") +log = Logger.get_looger(__name__, "nuke") @contextlib.contextmanager diff --git a/pype/plugins/nuke/publish/collect_reads.py b/pype/plugins/nuke/publish/collect_reads.py index f5d3008b40..75ea2efa3a 100644 --- a/pype/plugins/nuke/publish/collect_reads.py +++ b/pype/plugins/nuke/publish/collect_reads.py @@ -6,7 +6,7 @@ import pyblish.api import logging from avalon import io, api -log = logging.getLogger(__name__) +log = logging.get_logger(__name__) @pyblish.api.log diff --git a/pype/plugins/nuke/publish/collect_writes.py b/pype/plugins/nuke/publish/collect_writes.py index 2a274201bb..612c2a8775 100644 --- a/pype/plugins/nuke/publish/collect_writes.py +++ b/pype/plugins/nuke/publish/collect_writes.py @@ -6,7 +6,7 @@ import logging import pype.api as pype -log = logging.getLogger(__name__) +log = logging.get_logger(__name__) @pyblish.api.log diff --git a/pype/premiere/__init__.py b/pype/premiere/__init__.py index 3d6610795e..3217d61010 100644 --- a/pype/premiere/__init__.py +++ b/pype/premiere/__init__.py @@ -12,7 +12,7 @@ from .. import api import requests -log = api.Logger.getLogger(__name__, "premiere") +log = api.Logger().get_logger(__name__, "premiere") AVALON_CONFIG = os.getenv("AVALON_CONFIG", "pype") EXTENSIONS_PATH_LOCAL = os.getenv("EXTENSIONS_PATH", None) diff --git a/pype/premiere/templates.py b/pype/premiere/templates.py index 33a7a6ff61..e53d529cc1 100644 --- a/pype/premiere/templates.py +++ b/pype/premiere/templates.py @@ -1,6 +1,6 @@ from pype import api as pype -log = pype.Logger.getLogger(__name__, "premiere") +log = pype.Logger().get_logger(__name__, "premiere") def get_anatomy(**kwarg): diff --git a/pype/templates.py b/pype/templates.py index 92dad30e7e..58ae54f466 100644 --- a/pype/templates.py +++ b/pype/templates.py @@ -4,9 +4,8 @@ from avalon import io from avalon import api as avalon from . import lib # from pypeapp.api import (Templates, Logger, format) -from pypeapp.api import Logger -log = Logger().get_logger(__name__, - os.getenv("AVALON_APP", "pype-config")) +from pypeapp import Logger +log = Logger().get_logger(__name__, os.getenv("AVALON_APP", "pype-config")) SESSION = None diff --git a/setup/nuke/nuke_path/menu.py b/setup/nuke/nuke_path/menu.py index 45f44d0d11..9a96a52850 100644 --- a/setup/nuke/nuke_path/menu.py +++ b/setup/nuke/nuke_path/menu.py @@ -1,12 +1,12 @@ from pype.nuke.lib import writes_version_sync, onScriptLoad import nuke -from pype.api import Logger +from pypeapp import Logger -log = Logger.getLogger(__name__, "nuke") +log = Logger().get_logger(__name__, "nuke") -# nuke.addOnScriptSave(writes_version_sync) -# nuke.addOnScriptSave(onScriptLoad) +nuke.addOnScriptSave(writes_version_sync) +nuke.addOnScriptSave(onScriptLoad) log.info('Automatic syncing of write file knob to script version')