From 41d4358500ffe41c043b3ceef76fcde647837051 Mon Sep 17 00:00:00 2001 From: Ondrej Samohel Date: Fri, 11 Feb 2022 17:34:12 +0100 Subject: [PATCH 1/3] context set by env vars, configurable review for collected jobs --- .../publish/collect_sequences_from_job.py | 3 +- .../perjob/m50__openpype_publish_render.py | 16 ++++++++- .../project_settings/royalrender.json | 7 ++++ .../schemas/projects_schema/schema_main.json | 4 +++ .../schema_project_royalrender.json | 34 +++++++++++++++++++ 5 files changed, 62 insertions(+), 2 deletions(-) create mode 100644 openpype/settings/defaults/project_settings/royalrender.json create mode 100644 openpype/settings/entities/schemas/projects_schema/schema_project_royalrender.json diff --git a/openpype/modules/default_modules/royal_render/plugins/publish/collect_sequences_from_job.py b/openpype/modules/default_modules/royal_render/plugins/publish/collect_sequences_from_job.py index b389b022cf..3f435990e2 100644 --- a/openpype/modules/default_modules/royal_render/plugins/publish/collect_sequences_from_job.py +++ b/openpype/modules/default_modules/royal_render/plugins/publish/collect_sequences_from_job.py @@ -77,6 +77,7 @@ class CollectSequencesFromJob(pyblish.api.ContextPlugin): order = pyblish.api.CollectorOrder targets = ["rr_control"] label = "Collect Rendered Frames" + review = True def process(self, context): if os.environ.get("OPENPYPE_PUBLISH_DATA"): @@ -150,7 +151,7 @@ class CollectSequencesFromJob(pyblish.api.ContextPlugin): families.append("render") if "ftrack" not in families: families.append("ftrack") - if "review" not in families: + if "review" not in families and self.review: families.append("review") for collection in collections: diff --git a/openpype/modules/default_modules/royal_render/rr_root/plugins/control_job/perjob/m50__openpype_publish_render.py b/openpype/modules/default_modules/royal_render/rr_root/plugins/control_job/perjob/m50__openpype_publish_render.py index 7fedb51410..eafb6ffb84 100644 --- a/openpype/modules/default_modules/royal_render/rr_root/plugins/control_job/perjob/m50__openpype_publish_render.py +++ b/openpype/modules/default_modules/royal_render/rr_root/plugins/control_job/perjob/m50__openpype_publish_render.py @@ -136,7 +136,7 @@ class OpenPypeContextSelector: def run_publish(self): """Run publish process.""" - env = {'AVALON_PROJECT': str(self.context.get("project")), + env = {"AVALON_PROJECT": str(self.context.get("project")), "AVALON_ASSET": str(self.context.get("asset")), "AVALON_TASK": str(self.context.get("task")), "AVALON_APP_NAME": str(self.context.get("app_name"))} @@ -179,4 +179,18 @@ class OpenPypeContextSelector: print("running selector") selector = OpenPypeContextSelector() + +# try to set context from environment +selector.context["project"] = os.getenv("AVALON_PROJECT") +selector.context["asset"] = os.getenv("AVALON_ASSET") +selector.context["task"] = os.getenv("AVALON_TASK") +selector.context["app_name"] = os.getenv("AVALON_APP_NAME") + +# if anything inside is None, scratch the whole thing and +# ask user for context. +for _, v in selector.context.items(): + if not v: + selector.context = {} + break + selector.process_job() diff --git a/openpype/settings/defaults/project_settings/royalrender.json b/openpype/settings/defaults/project_settings/royalrender.json new file mode 100644 index 0000000000..be267b11d8 --- /dev/null +++ b/openpype/settings/defaults/project_settings/royalrender.json @@ -0,0 +1,7 @@ +{ + "publish": { + "CollectSequencesFromJob": { + "review": true + } + } +} \ No newline at end of file diff --git a/openpype/settings/entities/schemas/projects_schema/schema_main.json b/openpype/settings/entities/schemas/projects_schema/schema_main.json index 8a2ad451ee..8e4eba86ef 100644 --- a/openpype/settings/entities/schemas/projects_schema/schema_main.json +++ b/openpype/settings/entities/schemas/projects_schema/schema_main.json @@ -66,6 +66,10 @@ "type": "schema", "name": "schema_project_deadline" }, + { + "type": "schema", + "name": "schema_project_royalrender" + }, { "type": "schema", "name": "schema_project_slack" diff --git a/openpype/settings/entities/schemas/projects_schema/schema_project_royalrender.json b/openpype/settings/entities/schemas/projects_schema/schema_project_royalrender.json new file mode 100644 index 0000000000..cabb4747d5 --- /dev/null +++ b/openpype/settings/entities/schemas/projects_schema/schema_project_royalrender.json @@ -0,0 +1,34 @@ +{ + "type": "dict", + "key": "royalrender", + "label": "Royal Render", + "collapsible": true, + "is_file": true, + "children": [ + { + "type": "dict", + "collapsible": true, + "key": "publish", + "label": "Publish plugins", + "children": [ + { + "type": "label", + "label": "Collectors" + }, + { + "type": "dict", + "collapsible": true, + "key": "CollectSequencesFromJob", + "label": "Collect Sequences from the Job", + "children": [ + { + "type": "boolean", + "key": "review", + "label": "Generate reviews from sequences" + } + ] + } + ] + } + ] +} \ No newline at end of file From e6c3e4e4a07d6061edce77af75484371aae04353 Mon Sep 17 00:00:00 2001 From: Ondrej Samohel Date: Tue, 22 Feb 2022 17:01:28 +0100 Subject: [PATCH 2/3] fix default dict and load of settings --- .../plugins/publish/collect_sequences_from_job.py | 11 +++++++++++ .../perjob/m50__openpype_publish_render.py | 2 +- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/openpype/modules/default_modules/royal_render/plugins/publish/collect_sequences_from_job.py b/openpype/modules/default_modules/royal_render/plugins/publish/collect_sequences_from_job.py index 3f435990e2..4d216c1c0a 100644 --- a/openpype/modules/default_modules/royal_render/plugins/publish/collect_sequences_from_job.py +++ b/openpype/modules/default_modules/royal_render/plugins/publish/collect_sequences_from_job.py @@ -80,6 +80,16 @@ class CollectSequencesFromJob(pyblish.api.ContextPlugin): review = True def process(self, context): + + self.review = ( + context.data + ["project_settings"] + ["royalrender"] + ["publish"] + ["CollectSequencesFromJob"] + ["review"] + ) + if os.environ.get("OPENPYPE_PUBLISH_DATA"): self.log.debug(os.environ.get("OPENPYPE_PUBLISH_DATA")) paths = os.environ["OPENPYPE_PUBLISH_DATA"].split(os.pathsep) @@ -152,6 +162,7 @@ class CollectSequencesFromJob(pyblish.api.ContextPlugin): if "ftrack" not in families: families.append("ftrack") if "review" not in families and self.review: + self.log.info("attaching review") families.append("review") for collection in collections: diff --git a/openpype/modules/default_modules/royal_render/rr_root/plugins/control_job/perjob/m50__openpype_publish_render.py b/openpype/modules/default_modules/royal_render/rr_root/plugins/control_job/perjob/m50__openpype_publish_render.py index eafb6ffb84..82a79daf3b 100644 --- a/openpype/modules/default_modules/royal_render/rr_root/plugins/control_job/perjob/m50__openpype_publish_render.py +++ b/openpype/modules/default_modules/royal_render/rr_root/plugins/control_job/perjob/m50__openpype_publish_render.py @@ -20,7 +20,7 @@ class OpenPypeContextSelector: def __init__(self): self.job = rr.getJob() - self.context = None + self.context = {} self.openpype_executable = "openpype_gui" if platform.system().lower() == "windows": From 646651a62fcb6067c9c644e3785e956cda359b10 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20Samohel?= Date: Wed, 23 Feb 2022 16:37:58 +0100 Subject: [PATCH 3/3] rename module --- .gitmodules | 2 +- openpype/modules/base.py | 2 +- openpype/modules/default_modules/ftrack/python2_vendor/arrow | 1 - .../default_modules/ftrack/python2_vendor/ftrack-python-api | 1 - openpype/modules/{royal_render => royalrender}/__init__.py | 0 openpype/modules/{royal_render => royalrender}/api.py | 0 .../plugins/publish/collect_default_rr_path.py | 0 .../plugins/publish/collect_rr_path_from_instance.py | 0 .../plugins/publish/collect_sequences_from_job.py | 0 .../{royal_render => royalrender}/royal_render_module.py | 0 openpype/modules/{royal_render => royalrender}/rr_job.py | 0 .../modules/{royal_render => royalrender}/rr_root/README.md | 0 .../plugins/control_job/perjob/m50__openpype_publish_render.py | 0 13 files changed, 2 insertions(+), 4 deletions(-) delete mode 160000 openpype/modules/default_modules/ftrack/python2_vendor/arrow delete mode 160000 openpype/modules/default_modules/ftrack/python2_vendor/ftrack-python-api rename openpype/modules/{royal_render => royalrender}/__init__.py (100%) rename openpype/modules/{royal_render => royalrender}/api.py (100%) rename openpype/modules/{royal_render => royalrender}/plugins/publish/collect_default_rr_path.py (100%) rename openpype/modules/{royal_render => royalrender}/plugins/publish/collect_rr_path_from_instance.py (100%) rename openpype/modules/{royal_render => royalrender}/plugins/publish/collect_sequences_from_job.py (100%) rename openpype/modules/{royal_render => royalrender}/royal_render_module.py (100%) rename openpype/modules/{royal_render => royalrender}/rr_job.py (100%) rename openpype/modules/{royal_render => royalrender}/rr_root/README.md (100%) rename openpype/modules/{royal_render => royalrender}/rr_root/plugins/control_job/perjob/m50__openpype_publish_render.py (100%) diff --git a/.gitmodules b/.gitmodules index 2c4816801c..67b820a247 100644 --- a/.gitmodules +++ b/.gitmodules @@ -3,4 +3,4 @@ url = https://github.com/pypeclub/avalon-core.git [submodule "repos/avalon-unreal-integration"] path = repos/avalon-unreal-integration - url = https://github.com/pypeclub/avalon-unreal-integration.git + url = https://github.com/pypeclub/avalon-unreal-integration.git \ No newline at end of file diff --git a/openpype/modules/base.py b/openpype/modules/base.py index 6c86557337..213a7681f5 100644 --- a/openpype/modules/base.py +++ b/openpype/modules/base.py @@ -35,7 +35,7 @@ DEFAULT_OPENPYPE_MODULES = ( "log_viewer", "deadline", "muster", - "royal_render", + "royalrender", "python_console_interpreter", "ftrack", "slack", diff --git a/openpype/modules/default_modules/ftrack/python2_vendor/arrow b/openpype/modules/default_modules/ftrack/python2_vendor/arrow deleted file mode 160000 index b746fedf72..0000000000 --- a/openpype/modules/default_modules/ftrack/python2_vendor/arrow +++ /dev/null @@ -1 +0,0 @@ -Subproject commit b746fedf7286c3755a46f07ab72f4c414cd41fc0 diff --git a/openpype/modules/default_modules/ftrack/python2_vendor/ftrack-python-api b/openpype/modules/default_modules/ftrack/python2_vendor/ftrack-python-api deleted file mode 160000 index d277f474ab..0000000000 --- a/openpype/modules/default_modules/ftrack/python2_vendor/ftrack-python-api +++ /dev/null @@ -1 +0,0 @@ -Subproject commit d277f474ab016e7b53479c36af87cb861d0cc53e diff --git a/openpype/modules/royal_render/__init__.py b/openpype/modules/royalrender/__init__.py similarity index 100% rename from openpype/modules/royal_render/__init__.py rename to openpype/modules/royalrender/__init__.py diff --git a/openpype/modules/royal_render/api.py b/openpype/modules/royalrender/api.py similarity index 100% rename from openpype/modules/royal_render/api.py rename to openpype/modules/royalrender/api.py diff --git a/openpype/modules/royal_render/plugins/publish/collect_default_rr_path.py b/openpype/modules/royalrender/plugins/publish/collect_default_rr_path.py similarity index 100% rename from openpype/modules/royal_render/plugins/publish/collect_default_rr_path.py rename to openpype/modules/royalrender/plugins/publish/collect_default_rr_path.py diff --git a/openpype/modules/royal_render/plugins/publish/collect_rr_path_from_instance.py b/openpype/modules/royalrender/plugins/publish/collect_rr_path_from_instance.py similarity index 100% rename from openpype/modules/royal_render/plugins/publish/collect_rr_path_from_instance.py rename to openpype/modules/royalrender/plugins/publish/collect_rr_path_from_instance.py diff --git a/openpype/modules/royal_render/plugins/publish/collect_sequences_from_job.py b/openpype/modules/royalrender/plugins/publish/collect_sequences_from_job.py similarity index 100% rename from openpype/modules/royal_render/plugins/publish/collect_sequences_from_job.py rename to openpype/modules/royalrender/plugins/publish/collect_sequences_from_job.py diff --git a/openpype/modules/royal_render/royal_render_module.py b/openpype/modules/royalrender/royal_render_module.py similarity index 100% rename from openpype/modules/royal_render/royal_render_module.py rename to openpype/modules/royalrender/royal_render_module.py diff --git a/openpype/modules/royal_render/rr_job.py b/openpype/modules/royalrender/rr_job.py similarity index 100% rename from openpype/modules/royal_render/rr_job.py rename to openpype/modules/royalrender/rr_job.py diff --git a/openpype/modules/royal_render/rr_root/README.md b/openpype/modules/royalrender/rr_root/README.md similarity index 100% rename from openpype/modules/royal_render/rr_root/README.md rename to openpype/modules/royalrender/rr_root/README.md diff --git a/openpype/modules/royal_render/rr_root/plugins/control_job/perjob/m50__openpype_publish_render.py b/openpype/modules/royalrender/rr_root/plugins/control_job/perjob/m50__openpype_publish_render.py similarity index 100% rename from openpype/modules/royal_render/rr_root/plugins/control_job/perjob/m50__openpype_publish_render.py rename to openpype/modules/royalrender/rr_root/plugins/control_job/perjob/m50__openpype_publish_render.py