From e99df15b1ac1f930b04131ffc2fa0915b5c9f1a3 Mon Sep 17 00:00:00 2001 From: Milan Kolar Date: Thu, 7 Nov 2019 18:39:55 +0100 Subject: [PATCH 1/3] make sure we're not comparing mounted to UNC path in integrator. --- pype/plugins/global/publish/integrate_new.py | 2 ++ pype/plugins/global/publish/submit_publish_job.py | 3 +++ 2 files changed, 5 insertions(+) diff --git a/pype/plugins/global/publish/integrate_new.py b/pype/plugins/global/publish/integrate_new.py index 4ef2616cda..4a6edf7442 100644 --- a/pype/plugins/global/publish/integrate_new.py +++ b/pype/plugins/global/publish/integrate_new.py @@ -565,6 +565,8 @@ class IntegrateAssetNew(pyblish.api.InstancePlugin): source = instance.data['source'] except KeyError: source = context.data["currentFile"] + source = source.replace(os.getenv("PYPE_STUDIO_PROJECTS_MOUNT"), + api.registered_root()) relative_path = os.path.relpath(source, api.registered_root()) source = os.path.join("{root}", relative_path).replace("\\", "/") diff --git a/pype/plugins/global/publish/submit_publish_job.py b/pype/plugins/global/publish/submit_publish_job.py index 1072f95b8e..2a254b015c 100644 --- a/pype/plugins/global/publish/submit_publish_job.py +++ b/pype/plugins/global/publish/submit_publish_job.py @@ -276,6 +276,9 @@ class ProcessSubmittedJobOnFarm(pyblish.api.InstancePlugin): except KeyError: source = context.data["currentFile"] + source = source.replace(os.getenv("PYPE_STUDIO_PROJECTS_MOUNT"), + api.registered_root()) + relative_path = os.path.relpath(source, api.registered_root()) source = os.path.join("{root}", relative_path).replace("\\", "/") From 129c264f4956c9824bd576f7c9954fc2c45af099 Mon Sep 17 00:00:00 2001 From: Milan Kolar Date: Mon, 11 Nov 2019 12:19:37 +0100 Subject: [PATCH 2/3] fixing signal errors --- pype/ftrack/ftrack_server/event_server_cli.py | 10 ++++------ pype/ftrack/ftrack_server/sub_event_processor.py | 5 +---- pype/ftrack/ftrack_server/sub_event_storer.py | 5 +---- pype/ftrack/ftrack_server/sub_legacy_server.py | 5 +---- 4 files changed, 7 insertions(+), 18 deletions(-) diff --git a/pype/ftrack/ftrack_server/event_server_cli.py b/pype/ftrack/ftrack_server/event_server_cli.py index 751d91ad4b..ba23857394 100644 --- a/pype/ftrack/ftrack_server/event_server_cli.py +++ b/pype/ftrack/ftrack_server/event_server_cli.py @@ -78,10 +78,10 @@ def check_mongo_url(host, port, log_error=False): def validate_credentials(url, user, api): first_validation = True if not user: - print('ERROR: Ftrack Username is not set! Exiting.') + print('- Ftrack Username is not set') first_validation = False if not api: - print('ERROR: Ftrack API key is not set! Exiting.') + print('- Ftrack API key is not set') first_validation = False if not first_validation: return False @@ -491,10 +491,12 @@ def main(argv): # Check url regex and accessibility ftrack_url = check_ftrack_url(ftrack_url) if not ftrack_url: + print('Exiting! < Please enter Ftrack server url >') return 1 # Validate entered credentials if not validate_credentials(ftrack_url, username, api_key): + print('Exiting! < Please enter valid credentials >') return 1 # Process events path @@ -534,8 +536,4 @@ if __name__ == "__main__": signal.signal(signal.SIGINT, signal_handler) signal.signal(signal.SIGTERM, signal_handler) - try: - signal.signal(signal.SIGKILL, signal_handler) - except OSError: - pass sys.exit(main(sys.argv)) diff --git a/pype/ftrack/ftrack_server/sub_event_processor.py b/pype/ftrack/ftrack_server/sub_event_processor.py index 4772c1e85e..01fa64fdd0 100644 --- a/pype/ftrack/ftrack_server/sub_event_processor.py +++ b/pype/ftrack/ftrack_server/sub_event_processor.py @@ -47,8 +47,5 @@ if __name__ == "__main__": signal.signal(signal.SIGINT, signal_handler) signal.signal(signal.SIGTERM, signal_handler) - try: - signal.signal(signal.SIGKILL, signal_handler) - except OSError: - pass + sys.exit(main(sys.argv)) diff --git a/pype/ftrack/ftrack_server/sub_event_storer.py b/pype/ftrack/ftrack_server/sub_event_storer.py index a49561cfaf..aaaf63accd 100644 --- a/pype/ftrack/ftrack_server/sub_event_storer.py +++ b/pype/ftrack/ftrack_server/sub_event_storer.py @@ -112,8 +112,5 @@ if __name__ == "__main__": signal.signal(signal.SIGINT, signal_handler) signal.signal(signal.SIGTERM, signal_handler) - try: - signal.signal(signal.SIGKILL, signal_handler) - except OSError: - pass + sys.exit(main(sys.argv)) diff --git a/pype/ftrack/ftrack_server/sub_legacy_server.py b/pype/ftrack/ftrack_server/sub_legacy_server.py index 01b1563db5..3d364e0ba3 100644 --- a/pype/ftrack/ftrack_server/sub_legacy_server.py +++ b/pype/ftrack/ftrack_server/sub_legacy_server.py @@ -94,8 +94,5 @@ if __name__ == "__main__": signal.signal(signal.SIGINT, signal_handler) signal.signal(signal.SIGTERM, signal_handler) - try: - signal.signal(signal.SIGKILL, signal_handler) - except OSError: - pass + sys.exit(main(sys.argv)) From 509578c4efe14e5ffd2bf77acd0e890b0b1783e0 Mon Sep 17 00:00:00 2001 From: Jakub Jezek Date: Tue, 12 Nov 2019 12:52:57 +0100 Subject: [PATCH 3/3] fix(nuke): nuke little fixes --- pype/nuke/lib.py | 13 +++++++++---- pype/plugins/nuke/publish/collect_workfile.py | 1 + 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/pype/nuke/lib.py b/pype/nuke/lib.py index 9030ea43fb..157af9019d 100644 --- a/pype/nuke/lib.py +++ b/pype/nuke/lib.py @@ -1,8 +1,9 @@ import os +import re import sys import getpass from collections import OrderedDict -from pprint import pprint + from avalon import api, io, lib import avalon.nuke import pype.api as pype @@ -949,7 +950,7 @@ class BuildWorkfile(WorkfileSettings): **kwargs) self.to_script = to_script # collect data for formating - data = { + self.data_tmp = { "root": root_path or api.Session["AVALON_PROJECTS"], "project": {"name": self._project["name"], "code": self._project["data"].get("code", '')}, @@ -964,7 +965,7 @@ class BuildWorkfile(WorkfileSettings): # get presets from anatomy anatomy = get_anatomy() # format anatomy - anatomy_filled = anatomy.format(data) + anatomy_filled = anatomy.format(self.data_tmp) # get dir and file for workfile self.work_dir = anatomy_filled["avalon"]["work"] @@ -1140,6 +1141,10 @@ class BuildWorkfile(WorkfileSettings): representation (dict): avalon db entity """ + task = self.data_tmp["task"] + sanitized_task = re.sub('[^0-9a-zA-Z]+', '', task) + subset_name = "render{}Main".format( + sanitized_task.capitalize()) Create_name = "CreateWriteRender" @@ -1151,7 +1156,7 @@ class BuildWorkfile(WorkfileSettings): creator_plugin = Creator # return api.create() - return creator_plugin("render_writeMain", self._asset).process() + return creator_plugin(subset_name, self._asset).process() def create_backdrop(self, label="", color=None, layer=0, nodes=None): diff --git a/pype/plugins/nuke/publish/collect_workfile.py b/pype/plugins/nuke/publish/collect_workfile.py index 1e0ecb33f6..fcec97769a 100644 --- a/pype/plugins/nuke/publish/collect_workfile.py +++ b/pype/plugins/nuke/publish/collect_workfile.py @@ -77,6 +77,7 @@ class CollectWorkfile(pyblish.api.ContextPlugin): "name": base_name, "publish": root.knob('publish').value(), "family": family, + "families": [family], "representations": list() })