From 64e971087968672b71329cbd3e33f67d6a637572 Mon Sep 17 00:00:00 2001 From: Jakub Jezek Date: Wed, 16 Feb 2022 15:59:41 +0100 Subject: [PATCH 01/16] Flame: removing testing label improving launching with flame correct launcher. fixing umask issue --- openpype/settings/defaults/system_settings/applications.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/openpype/settings/defaults/system_settings/applications.json b/openpype/settings/defaults/system_settings/applications.json index 317ed061b4..f8a09d70e9 100644 --- a/openpype/settings/defaults/system_settings/applications.json +++ b/openpype/settings/defaults/system_settings/applications.json @@ -121,7 +121,7 @@ "/opt/Autodesk/flame_2021/bin/flame.app/Contents/MacOS/startApp" ], "linux": [ - "/opt/Autodesk/flame_2021/bin/flame" + "/opt/Autodesk/flame_2021/bin/startApplication" ] }, "arguments": { @@ -136,7 +136,7 @@ } }, "__dynamic_keys_labels__": { - "2021": "2021 (Testing Only)" + "2021": "2021" } } }, From a39e8c7de561ee7ec9ce64da73707975c66fc27f Mon Sep 17 00:00:00 2001 From: Jakub Jezek Date: Wed, 16 Feb 2022 16:04:59 +0100 Subject: [PATCH 02/16] flame: adding version launcher 2021.1 --- .../system_settings/applications.json | 25 ++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/openpype/settings/defaults/system_settings/applications.json b/openpype/settings/defaults/system_settings/applications.json index f8a09d70e9..1d821cb4ea 100644 --- a/openpype/settings/defaults/system_settings/applications.json +++ b/openpype/settings/defaults/system_settings/applications.json @@ -135,8 +135,31 @@ "OPENPYPE_WIRETAP_TOOLS": "/opt/Autodesk/wiretap/tools/2021" } }, + "2021.1": { + "use_python_2": true, + "executables": { + "windows": [], + "darwin": [ + "/opt/Autodesk/flame_2021.1/bin/flame.app/Contents/MacOS/startApp" + ], + "linux": [ + "/opt/Autodesk/flame_2021.1/bin/startApplication" + ] + }, + "arguments": { + "windows": [], + "darwin": [], + "linux": [] + }, + "environment": { + "OPENPYPE_FLAME_PYTHON_EXEC": "/opt/Autodesk/python/2021.1/bin/python2.7", + "OPENPYPE_FLAME_PYTHONPATH": "/opt/Autodesk/flame_2021.1/python", + "OPENPYPE_WIRETAP_TOOLS": "/opt/Autodesk/wiretap/tools/2021.1" + } + }, "__dynamic_keys_labels__": { - "2021": "2021" + "2021": "2021", + "2021.1": "2021.1" } } }, From 409e3ccb268ed1d1d05deb21a0696739be21492e Mon Sep 17 00:00:00 2001 From: Jakub Jezek Date: Wed, 16 Feb 2022 16:26:39 +0100 Subject: [PATCH 03/16] Flame: settings for imageio --- .../defaults/project_anatomy/imageio.json | 17 ++++++ .../schemas/schema_anatomy_imageio.json | 52 +++++++++++++++++++ 2 files changed, 69 insertions(+) diff --git a/openpype/settings/defaults/project_anatomy/imageio.json b/openpype/settings/defaults/project_anatomy/imageio.json index 09ab398c37..8a8eb8b5c5 100644 --- a/openpype/settings/defaults/project_anatomy/imageio.json +++ b/openpype/settings/defaults/project_anatomy/imageio.json @@ -186,5 +186,22 @@ "renderSpace": "scene-linear Rec 709/sRGB", "viewTransform": "sRGB gamma" } + }, + "flame": { + "project": { + "colourPolicy": "ACES 1.1" + }, + "profilesMapping": { + "inputs": [ + { + "flameName": "ACEScg", + "ocioName": "ACES - ACEScg" + }, + { + "flameName": "Rec.709 video", + "ocioName": "Output - Rec.709" + } + ] + } } } \ No newline at end of file diff --git a/openpype/settings/entities/schemas/projects_schema/schemas/schema_anatomy_imageio.json b/openpype/settings/entities/schemas/projects_schema/schemas/schema_anatomy_imageio.json index 380ea4a83d..dece37cfda 100644 --- a/openpype/settings/entities/schemas/projects_schema/schemas/schema_anatomy_imageio.json +++ b/openpype/settings/entities/schemas/projects_schema/schemas/schema_anatomy_imageio.json @@ -403,6 +403,58 @@ ] } ] + }, + { + "key": "flame", + "type": "dict", + "label": "Flame/Flair", + "children": [ + { + "key": "project", + "type": "dict", + "label": "Project", + "collapsible": false, + "children": [ + { + "type": "form", + "children": [ + { + "type": "text", + "key": "colourPolicy", + "label": "Colour Policy" + } + ] + } + ] + }, + { + "key": "profilesMapping", + "type": "dict", + "label": "Profile names mapping", + "collapsible": true, + "children": [ + { + "type": "list", + "key": "inputs", + "object_type": { + "type": "dict", + "children": [ + { + "type": "text", + "key": "flameName", + "label": "Flame name" + }, + { + "type": "text", + "key": "ocioName", + "label": "OCIO name" + } + ] + } + } + ] + } + ] } ] } From 9bf8c24f4a8c967b335595439552f86bb9daeddf Mon Sep 17 00:00:00 2001 From: Jakub Jezek Date: Wed, 16 Feb 2022 16:36:16 +0100 Subject: [PATCH 04/16] flame: move utility scripts with rename to startup keep consistency across all hosts --- .../export_preset/openpype_seg_thumbnails_jpg.xml | 0 .../export_preset/openpype_seg_video_h264.xml | 0 .../openpype_flame_to_ftrack/modules/__init__.py | 0 .../openpype_flame_to_ftrack/modules/app_utils.py | 0 .../openpype_flame_to_ftrack/modules/ftrack_lib.py | 0 .../openpype_flame_to_ftrack/modules/panel_app.py | 0 .../openpype_flame_to_ftrack/modules/uiwidgets.py | 0 .../openpype_flame_to_ftrack/openpype_flame_to_ftrack.py | 0 .../flame/{api/utility_scripts => startup}/openpype_in_flame.py | 0 9 files changed, 0 insertions(+), 0 deletions(-) rename openpype/hosts/flame/{api/utility_scripts => startup}/openpype_flame_to_ftrack/export_preset/openpype_seg_thumbnails_jpg.xml (100%) rename openpype/hosts/flame/{api/utility_scripts => startup}/openpype_flame_to_ftrack/export_preset/openpype_seg_video_h264.xml (100%) rename openpype/hosts/flame/{api/utility_scripts => startup}/openpype_flame_to_ftrack/modules/__init__.py (100%) rename openpype/hosts/flame/{api/utility_scripts => startup}/openpype_flame_to_ftrack/modules/app_utils.py (100%) rename openpype/hosts/flame/{api/utility_scripts => startup}/openpype_flame_to_ftrack/modules/ftrack_lib.py (100%) rename openpype/hosts/flame/{api/utility_scripts => startup}/openpype_flame_to_ftrack/modules/panel_app.py (100%) rename openpype/hosts/flame/{api/utility_scripts => startup}/openpype_flame_to_ftrack/modules/uiwidgets.py (100%) rename openpype/hosts/flame/{api/utility_scripts => startup}/openpype_flame_to_ftrack/openpype_flame_to_ftrack.py (100%) rename openpype/hosts/flame/{api/utility_scripts => startup}/openpype_in_flame.py (100%) diff --git a/openpype/hosts/flame/api/utility_scripts/openpype_flame_to_ftrack/export_preset/openpype_seg_thumbnails_jpg.xml b/openpype/hosts/flame/startup/openpype_flame_to_ftrack/export_preset/openpype_seg_thumbnails_jpg.xml similarity index 100% rename from openpype/hosts/flame/api/utility_scripts/openpype_flame_to_ftrack/export_preset/openpype_seg_thumbnails_jpg.xml rename to openpype/hosts/flame/startup/openpype_flame_to_ftrack/export_preset/openpype_seg_thumbnails_jpg.xml diff --git a/openpype/hosts/flame/api/utility_scripts/openpype_flame_to_ftrack/export_preset/openpype_seg_video_h264.xml b/openpype/hosts/flame/startup/openpype_flame_to_ftrack/export_preset/openpype_seg_video_h264.xml similarity index 100% rename from openpype/hosts/flame/api/utility_scripts/openpype_flame_to_ftrack/export_preset/openpype_seg_video_h264.xml rename to openpype/hosts/flame/startup/openpype_flame_to_ftrack/export_preset/openpype_seg_video_h264.xml diff --git a/openpype/hosts/flame/api/utility_scripts/openpype_flame_to_ftrack/modules/__init__.py b/openpype/hosts/flame/startup/openpype_flame_to_ftrack/modules/__init__.py similarity index 100% rename from openpype/hosts/flame/api/utility_scripts/openpype_flame_to_ftrack/modules/__init__.py rename to openpype/hosts/flame/startup/openpype_flame_to_ftrack/modules/__init__.py diff --git a/openpype/hosts/flame/api/utility_scripts/openpype_flame_to_ftrack/modules/app_utils.py b/openpype/hosts/flame/startup/openpype_flame_to_ftrack/modules/app_utils.py similarity index 100% rename from openpype/hosts/flame/api/utility_scripts/openpype_flame_to_ftrack/modules/app_utils.py rename to openpype/hosts/flame/startup/openpype_flame_to_ftrack/modules/app_utils.py diff --git a/openpype/hosts/flame/api/utility_scripts/openpype_flame_to_ftrack/modules/ftrack_lib.py b/openpype/hosts/flame/startup/openpype_flame_to_ftrack/modules/ftrack_lib.py similarity index 100% rename from openpype/hosts/flame/api/utility_scripts/openpype_flame_to_ftrack/modules/ftrack_lib.py rename to openpype/hosts/flame/startup/openpype_flame_to_ftrack/modules/ftrack_lib.py diff --git a/openpype/hosts/flame/api/utility_scripts/openpype_flame_to_ftrack/modules/panel_app.py b/openpype/hosts/flame/startup/openpype_flame_to_ftrack/modules/panel_app.py similarity index 100% rename from openpype/hosts/flame/api/utility_scripts/openpype_flame_to_ftrack/modules/panel_app.py rename to openpype/hosts/flame/startup/openpype_flame_to_ftrack/modules/panel_app.py diff --git a/openpype/hosts/flame/api/utility_scripts/openpype_flame_to_ftrack/modules/uiwidgets.py b/openpype/hosts/flame/startup/openpype_flame_to_ftrack/modules/uiwidgets.py similarity index 100% rename from openpype/hosts/flame/api/utility_scripts/openpype_flame_to_ftrack/modules/uiwidgets.py rename to openpype/hosts/flame/startup/openpype_flame_to_ftrack/modules/uiwidgets.py diff --git a/openpype/hosts/flame/api/utility_scripts/openpype_flame_to_ftrack/openpype_flame_to_ftrack.py b/openpype/hosts/flame/startup/openpype_flame_to_ftrack/openpype_flame_to_ftrack.py similarity index 100% rename from openpype/hosts/flame/api/utility_scripts/openpype_flame_to_ftrack/openpype_flame_to_ftrack.py rename to openpype/hosts/flame/startup/openpype_flame_to_ftrack/openpype_flame_to_ftrack.py diff --git a/openpype/hosts/flame/api/utility_scripts/openpype_in_flame.py b/openpype/hosts/flame/startup/openpype_in_flame.py similarity index 100% rename from openpype/hosts/flame/api/utility_scripts/openpype_in_flame.py rename to openpype/hosts/flame/startup/openpype_in_flame.py From c0eed0dc141b6b1bf633f9ac0d398969f37ebbdf Mon Sep 17 00:00:00 2001 From: Jakub Jezek Date: Wed, 16 Feb 2022 16:37:16 +0100 Subject: [PATCH 05/16] flame: adding startup folder to environ var refactory to use `DL_PYTHON_HOOK_PATH` also cover `QT_AUTO_SCREEN_SCALE_FACTOR` issue --- openpype/hosts/flame/__init__.py | 18 ++++++++++++++++++ openpype/hosts/flame/hooks/pre_flame_setup.py | 4 +++- 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/openpype/hosts/flame/__init__.py b/openpype/hosts/flame/__init__.py index 02befa76e2..1c9fa099da 100644 --- a/openpype/hosts/flame/__init__.py +++ b/openpype/hosts/flame/__init__.py @@ -3,3 +3,21 @@ import os HOST_DIR = os.path.dirname( os.path.abspath(__file__) ) + + +def add_implementation_envs(env, _app): + # Add requirements to DL_PYTHON_HOOK_PATH + pype_root = os.environ["OPENPYPE_REPOS_ROOT"] + new_flame_paths = os.path.join( + pype_root, "openpype", "hosts", "flame", "startup") + + env["DL_PYTHON_HOOK_PATH"] = os.pathsep.join(new_flame_paths) + env.pop("QT_AUTO_SCREEN_SCALE_FACTOR", None) + + # Set default values if are not already set via settings + defaults = { + "LOGLEVEL": "DEBUG" + } + for key, value in defaults.items(): + if not env.get(key): + env[key] = value diff --git a/openpype/hosts/flame/hooks/pre_flame_setup.py b/openpype/hosts/flame/hooks/pre_flame_setup.py index e8bdd840f4..94703396b9 100644 --- a/openpype/hosts/flame/hooks/pre_flame_setup.py +++ b/openpype/hosts/flame/hooks/pre_flame_setup.py @@ -4,7 +4,9 @@ import tempfile import contextlib import socket from openpype.lib import ( - PreLaunchHook, get_openpype_username) + PreLaunchHook, + get_openpype_username +) from openpype.hosts import flame as opflame import openpype.hosts.flame.api as opfapi import openpype From 3214fb91181826755d21a4303da7f8825051dabe Mon Sep 17 00:00:00 2001 From: Jakub Jezek Date: Wed, 16 Feb 2022 16:53:14 +0100 Subject: [PATCH 06/16] flame: adding field dominance, image depth to imageio --- .../settings/defaults/project_anatomy/imageio.json | 4 +++- .../schemas/schema_anatomy_imageio.json | 10 ++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/openpype/settings/defaults/project_anatomy/imageio.json b/openpype/settings/defaults/project_anatomy/imageio.json index 8a8eb8b5c5..4a1496fe1a 100644 --- a/openpype/settings/defaults/project_anatomy/imageio.json +++ b/openpype/settings/defaults/project_anatomy/imageio.json @@ -189,7 +189,9 @@ }, "flame": { "project": { - "colourPolicy": "ACES 1.1" + "colourPolicy": "ACES 1.1", + "frameDepth": "16-bit fp", + "fieldDominance": "PROGRESSIVE" }, "profilesMapping": { "inputs": [ diff --git a/openpype/settings/entities/schemas/projects_schema/schemas/schema_anatomy_imageio.json b/openpype/settings/entities/schemas/projects_schema/schemas/schema_anatomy_imageio.json index dece37cfda..e000adacb0 100644 --- a/openpype/settings/entities/schemas/projects_schema/schemas/schema_anatomy_imageio.json +++ b/openpype/settings/entities/schemas/projects_schema/schemas/schema_anatomy_imageio.json @@ -422,6 +422,16 @@ "type": "text", "key": "colourPolicy", "label": "Colour Policy" + }, + { + "type": "text", + "key": "frameDepth", + "label": "Image Depth" + }, + { + "type": "text", + "key": "fieldDominance", + "label": "Field Dominance" } ] } From 65d23644e556961affe641aa9b900d3de41d78b4 Mon Sep 17 00:00:00 2001 From: Jakub Jezek Date: Wed, 16 Feb 2022 16:55:25 +0100 Subject: [PATCH 07/16] flame: connecting imageio settings to project hook creation --- openpype/hosts/flame/hooks/pre_flame_setup.py | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/openpype/hosts/flame/hooks/pre_flame_setup.py b/openpype/hosts/flame/hooks/pre_flame_setup.py index 94703396b9..bd1f687316 100644 --- a/openpype/hosts/flame/hooks/pre_flame_setup.py +++ b/openpype/hosts/flame/hooks/pre_flame_setup.py @@ -7,6 +7,7 @@ from openpype.lib import ( PreLaunchHook, get_openpype_username ) +from openpype.api import get_anatomy_settings from openpype.hosts import flame as opflame import openpype.hosts.flame.api as opfapi import openpype @@ -35,6 +36,13 @@ class FlamePrelaunch(PreLaunchHook): """Hook entry method.""" project_doc = self.data["project_doc"] + project_name = project_doc["name"] + + # get image io + project_anatomy = get_anatomy_settings(project_name) + imageio_flame = project_anatomy["imageio"]["flame"] + + # get user name and host name user_name = get_openpype_username() hostname = socket.gethostname() # not returning wiretap host name @@ -43,7 +51,7 @@ class FlamePrelaunch(PreLaunchHook): _db_p_data = project_doc["data"] width = _db_p_data["resolutionWidth"] height = _db_p_data["resolutionHeight"] - fps = int(_db_p_data["fps"]) + fps = float(_db_p_data["fps"]) project_data = { "Name": project_doc["name"], @@ -54,8 +62,8 @@ class FlamePrelaunch(PreLaunchHook): "FrameHeight": int(height), "AspectRatio": float((width / height) * _db_p_data["pixelAspect"]), "FrameRate": "{} fps".format(fps), - "FrameDepth": "16-bit fp", - "FieldDominance": "PROGRESSIVE" + "FrameDepth": str(imageio_flame["project"]["frameDepth"]), + "FieldDominance": str(imageio_flame["project"]["fieldDominance"]) } data_to_script = { @@ -63,10 +71,10 @@ class FlamePrelaunch(PreLaunchHook): "host_name": _env.get("FLAME_WIRETAP_HOSTNAME") or hostname, "volume_name": _env.get("FLAME_WIRETAP_VOLUME"), "group_name": _env.get("FLAME_WIRETAP_GROUP"), - "color_policy": "ACES 1.1", + "color_policy": str(imageio_flame["project"]["colourPolicy"]), # from project - "project_name": project_doc["name"], + "project_name": project_name, "user_name": user_name, "project_data": project_data } From 0e99b4cb514d4f86805378ce82e960a276e41a52 Mon Sep 17 00:00:00 2001 From: Jakub Jezek Date: Wed, 16 Feb 2022 17:19:19 +0100 Subject: [PATCH 08/16] flame: user without dot and rather underscore --- openpype/hosts/flame/hooks/pre_flame_setup.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/openpype/hosts/flame/hooks/pre_flame_setup.py b/openpype/hosts/flame/hooks/pre_flame_setup.py index bd1f687316..67c5c7e39b 100644 --- a/openpype/hosts/flame/hooks/pre_flame_setup.py +++ b/openpype/hosts/flame/hooks/pre_flame_setup.py @@ -44,6 +44,8 @@ class FlamePrelaunch(PreLaunchHook): # get user name and host name user_name = get_openpype_username() + user_name = user_name.replace(".", "_") + hostname = socket.gethostname() # not returning wiretap host name self.log.debug("Collected user \"{}\"".format(user_name)) From eec2e68dc44b2acf41155de97650981ceddb9f7c Mon Sep 17 00:00:00 2001 From: Jakub Jezek Date: Wed, 16 Feb 2022 17:19:59 +0100 Subject: [PATCH 09/16] flame: disable utility setup in prelaunch hook --- openpype/hosts/flame/hooks/pre_flame_setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openpype/hosts/flame/hooks/pre_flame_setup.py b/openpype/hosts/flame/hooks/pre_flame_setup.py index 67c5c7e39b..ff72609f34 100644 --- a/openpype/hosts/flame/hooks/pre_flame_setup.py +++ b/openpype/hosts/flame/hooks/pre_flame_setup.py @@ -89,7 +89,7 @@ class FlamePrelaunch(PreLaunchHook): app_arguments = self._get_launch_arguments(data_to_script) - opfapi.setup(self.launch_context.env) + # opfapi.setup(self.launch_context.env) self.launch_context.launch_args.extend(app_arguments) From 901f772f58f1e00caf343490506e4cc947741c74 Mon Sep 17 00:00:00 2001 From: Jakub Jezek Date: Wed, 16 Feb 2022 17:36:30 +0100 Subject: [PATCH 10/16] flame: fix path creation for custom scripts --- openpype/hosts/flame/__init__.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/openpype/hosts/flame/__init__.py b/openpype/hosts/flame/__init__.py index 1c9fa099da..f839357147 100644 --- a/openpype/hosts/flame/__init__.py +++ b/openpype/hosts/flame/__init__.py @@ -8,10 +8,9 @@ HOST_DIR = os.path.dirname( def add_implementation_envs(env, _app): # Add requirements to DL_PYTHON_HOOK_PATH pype_root = os.environ["OPENPYPE_REPOS_ROOT"] - new_flame_paths = os.path.join( - pype_root, "openpype", "hosts", "flame", "startup") - env["DL_PYTHON_HOOK_PATH"] = os.pathsep.join(new_flame_paths) + env["DL_PYTHON_HOOK_PATH"] = os.path.join( + pype_root, "openpype", "hosts", "flame", "startup") env.pop("QT_AUTO_SCREEN_SCALE_FACTOR", None) # Set default values if are not already set via settings From d007c057d200eeb806cb15d5549a18ff866ae8aa Mon Sep 17 00:00:00 2001 From: Jakub Jezek Date: Wed, 16 Feb 2022 20:57:27 +0100 Subject: [PATCH 11/16] flame: optimize validate asset name to remove unicodes --- .../publish/validate_editorial_asset_name.py | 46 ++++++++++--------- 1 file changed, 24 insertions(+), 22 deletions(-) diff --git a/openpype/plugins/publish/validate_editorial_asset_name.py b/openpype/plugins/publish/validate_editorial_asset_name.py index 7359ccf360..416e83a09e 100644 --- a/openpype/plugins/publish/validate_editorial_asset_name.py +++ b/openpype/plugins/publish/validate_editorial_asset_name.py @@ -32,7 +32,7 @@ class ValidateEditorialAssetName(pyblish.api.ContextPlugin): self.log.debug("__ db_assets: {}".format(db_assets)) asset_db_docs = { - str(e["name"]): e["data"]["parents"] + str(e["name"]): [str(p) for p in e["data"]["parents"]] for e in db_assets} self.log.debug("__ project_entities: {}".format( @@ -43,17 +43,15 @@ class ValidateEditorialAssetName(pyblish.api.ContextPlugin): for asset in asset_and_parents.keys(): if asset not in asset_db_docs.keys(): # add to some nonexistent list for next layer of check - assets_missing_name.update({asset: asset_and_parents[asset]}) + assets_missing_name[asset] = asset_and_parents[asset] continue if asset_and_parents[asset] != asset_db_docs[asset]: # add to some nonexistent list for next layer of check - assets_wrong_parent.update({ - asset: { - "required": asset_and_parents[asset], - "already_in_db": asset_db_docs[asset] - } - }) + assets_wrong_parent[asset] = { + "required": asset_and_parents[asset], + "already_in_db": asset_db_docs[asset] + } continue self.log.info("correct asset: {}".format(asset)) @@ -62,17 +60,21 @@ class ValidateEditorialAssetName(pyblish.api.ContextPlugin): wrong_names = {} self.log.debug( ">> assets_missing_name: {}".format(assets_missing_name)) - for asset in assets_missing_name.keys(): + + for asset in assets_missing_name: _asset = asset.lower().replace("_", "") - if _asset in [a.lower().replace("_", "") - for a in asset_db_docs.keys()]: - wrong_names.update({ - "required_name": asset, - "used_variants_in_db": [ - a for a in asset_db_docs.keys() - if a.lower().replace("_", "") == _asset - ] - }) + if _asset in [ + a.lower().replace("_", "") for a in asset_db_docs + ]: + wrong_names.update( + { + "required_name": asset, + "used_variants_in_db": [ + a for a in asset_db_docs + if a.lower().replace("_", "") == _asset + ] + } + ) if wrong_names: self.log.debug( @@ -114,8 +116,8 @@ class ValidateEditorialAssetName(pyblish.api.ContextPlugin): parents = instance.data["parents"] - return_dict.update({ - asset: [p["entity_name"] for p in parents - if p["entity_type"].lower() != "project"] - }) + return_dict[asset] = [ + str(p["entity_name"]) for p in parents + if p["entity_type"].lower() != "project" + ] return return_dict From 213741d652e01b2cb7381df5b57b91d7efb1ca7f Mon Sep 17 00:00:00 2001 From: Jakub Jezek Date: Thu, 17 Feb 2022 16:31:26 +0100 Subject: [PATCH 12/16] flame: making sure anatomy imageio flame key is present https://github.com/pypeclub/OpenPype/pull/2745#discussion_r808915085 --- openpype/hosts/flame/hooks/pre_flame_setup.py | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/openpype/hosts/flame/hooks/pre_flame_setup.py b/openpype/hosts/flame/hooks/pre_flame_setup.py index ff72609f34..26056e6c16 100644 --- a/openpype/hosts/flame/hooks/pre_flame_setup.py +++ b/openpype/hosts/flame/hooks/pre_flame_setup.py @@ -7,9 +7,11 @@ from openpype.lib import ( PreLaunchHook, get_openpype_username ) +from openpype.lib.applications import ( + ApplicationLaunchFailed +) from openpype.api import get_anatomy_settings from openpype.hosts import flame as opflame -import openpype.hosts.flame.api as opfapi import openpype from pprint import pformat @@ -40,6 +42,15 @@ class FlamePrelaunch(PreLaunchHook): # get image io project_anatomy = get_anatomy_settings(project_name) + + # make sure anatomy settings are having flame key + if not project_anatomy["imageio"].get("flame"): + raise ApplicationLaunchFailed(( + "Anatomy project settings are missing `flame` key. " + "Please make sure you remove project overides on " + "Anatomy Image io") + ) + imageio_flame = project_anatomy["imageio"]["flame"] # get user name and host name @@ -89,8 +100,6 @@ class FlamePrelaunch(PreLaunchHook): app_arguments = self._get_launch_arguments(data_to_script) - # opfapi.setup(self.launch_context.env) - self.launch_context.launch_args.extend(app_arguments) def _add_pythonpath(self): From 8f8545e2b58c8a991c2f3ee7e58b4a6e5ff12b78 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Je=C5=BEek?= Date: Thu, 17 Feb 2022 16:35:00 +0100 Subject: [PATCH 13/16] Apply suggestions from code review Co-authored-by: Jakub Trllo <43494761+iLLiCiTiT@users.noreply.github.com> --- openpype/hosts/flame/hooks/pre_flame_setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openpype/hosts/flame/hooks/pre_flame_setup.py b/openpype/hosts/flame/hooks/pre_flame_setup.py index 26056e6c16..061cf8416b 100644 --- a/openpype/hosts/flame/hooks/pre_flame_setup.py +++ b/openpype/hosts/flame/hooks/pre_flame_setup.py @@ -41,7 +41,7 @@ class FlamePrelaunch(PreLaunchHook): project_name = project_doc["name"] # get image io - project_anatomy = get_anatomy_settings(project_name) + project_anatomy = self.data["anatomy"] # make sure anatomy settings are having flame key if not project_anatomy["imageio"].get("flame"): From 373b1c159bbc1430157943c5e3f407cc021ede66 Mon Sep 17 00:00:00 2001 From: Jakub Jezek Date: Thu, 17 Feb 2022 16:39:03 +0100 Subject: [PATCH 14/16] global: validating asset name for test preprocessing https://github.com/pypeclub/OpenPype/pull/2745#discussion_r808933011 --- .../plugins/publish/validate_editorial_asset_name.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/openpype/plugins/publish/validate_editorial_asset_name.py b/openpype/plugins/publish/validate_editorial_asset_name.py index 416e83a09e..c40f81a21a 100644 --- a/openpype/plugins/publish/validate_editorial_asset_name.py +++ b/openpype/plugins/publish/validate_editorial_asset_name.py @@ -61,11 +61,14 @@ class ValidateEditorialAssetName(pyblish.api.ContextPlugin): self.log.debug( ">> assets_missing_name: {}".format(assets_missing_name)) + # This will create set asset names + asset_names = { + a.lower().replace("_", "") for a in asset_db_docs + } + for asset in assets_missing_name: _asset = asset.lower().replace("_", "") - if _asset in [ - a.lower().replace("_", "") for a in asset_db_docs - ]: + if _asset in asset_names: wrong_names.update( { "required_name": asset, From d50893c6ead7ebed971ad2eb1dbfe7949068b4df Mon Sep 17 00:00:00 2001 From: Jakub Jezek Date: Thu, 17 Feb 2022 16:45:57 +0100 Subject: [PATCH 15/16] global: dict was overwriting keys https://github.com/pypeclub/OpenPype/pull/2745#discussion_r808934017 --- openpype/plugins/publish/validate_editorial_asset_name.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openpype/plugins/publish/validate_editorial_asset_name.py b/openpype/plugins/publish/validate_editorial_asset_name.py index c40f81a21a..4a65f3c64a 100644 --- a/openpype/plugins/publish/validate_editorial_asset_name.py +++ b/openpype/plugins/publish/validate_editorial_asset_name.py @@ -69,7 +69,7 @@ class ValidateEditorialAssetName(pyblish.api.ContextPlugin): for asset in assets_missing_name: _asset = asset.lower().replace("_", "") if _asset in asset_names: - wrong_names.update( + wrong_names[asset].update( { "required_name": asset, "used_variants_in_db": [ From 1ed26cc7a5864ac689abbe5929ad2491db8ad8a7 Mon Sep 17 00:00:00 2001 From: Jakub Jezek Date: Thu, 17 Feb 2022 16:47:01 +0100 Subject: [PATCH 16/16] hound: catches --- openpype/hosts/flame/hooks/pre_flame_setup.py | 1 - 1 file changed, 1 deletion(-) diff --git a/openpype/hosts/flame/hooks/pre_flame_setup.py b/openpype/hosts/flame/hooks/pre_flame_setup.py index 061cf8416b..0d63b0d926 100644 --- a/openpype/hosts/flame/hooks/pre_flame_setup.py +++ b/openpype/hosts/flame/hooks/pre_flame_setup.py @@ -10,7 +10,6 @@ from openpype.lib import ( from openpype.lib.applications import ( ApplicationLaunchFailed ) -from openpype.api import get_anatomy_settings from openpype.hosts import flame as opflame import openpype from pprint import pformat