From 41d4358500ffe41c043b3ceef76fcde647837051 Mon Sep 17 00:00:00 2001 From: Ondrej Samohel Date: Fri, 11 Feb 2022 17:34:12 +0100 Subject: [PATCH] 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