From aecd70a7b050a13e58007460916770a953c2a98e Mon Sep 17 00:00:00 2001 From: Jakub Jezek Date: Mon, 25 Jan 2021 11:00:19 +0100 Subject: [PATCH 01/26] nuke: bake writes colorspace --- pype/hosts/nuke/api/lib.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pype/hosts/nuke/api/lib.py b/pype/hosts/nuke/api/lib.py index 96067a3d48..20b00b2d7a 100644 --- a/pype/hosts/nuke/api/lib.py +++ b/pype/hosts/nuke/api/lib.py @@ -1371,6 +1371,7 @@ class ExporterReviewMov(ExporterReview): self.viewer_lut_raw = klass.viewer_lut_raw self.bake_colorspace_fallback = klass.bake_colorspace_fallback self.bake_colorspace_main = klass.bake_colorspace_main + self.write_colorspace = instance.data["colorspace"] self.name = name or "baked" self.ext = ext or "mov" @@ -1416,6 +1417,8 @@ class ExporterReviewMov(ExporterReview): r_node["origfirst"].setValue(self.first_frame) r_node["last"].setValue(self.last_frame) r_node["origlast"].setValue(self.last_frame) + r_node["colorspace"].setValue(self.write_colorspace) + # connect self._temp_nodes.append(r_node) self.previous_node = r_node From e58a4807ea3115798646956a8818fb728f4e0c80 Mon Sep 17 00:00:00 2001 From: Petr Kalis Date: Mon, 25 Jan 2021 17:36:30 +0100 Subject: [PATCH 02/26] Photoshop fix - create called on single layer Version for Pype3 --- .../websocket_server/stubs/photoshop_server_stub.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/pype/modules/websocket_server/stubs/photoshop_server_stub.py b/pype/modules/websocket_server/stubs/photoshop_server_stub.py index 04fb7eff0f..d223153797 100644 --- a/pype/modules/websocket_server/stubs/photoshop_server_stub.py +++ b/pype/modules/websocket_server/stubs/photoshop_server_stub.py @@ -135,13 +135,17 @@ class PhotoshopServerStub(): def group_selected_layers(self, name): """ Group selected layers into new LayerSet (eg. group) - Returns: + Returns: (Layer) """ res = self.websocketserver.call(self.client.call ('Photoshop.group_selected_layers', name=name) ) - return self._to_records(res) + res = self._to_records(res) + + if res: + return res.pop() + raise ValueError("No group record returned") def get_selected_layers(self): """ From 18d6bba6647215df7d3c7c3b2fb612c596d535ae Mon Sep 17 00:00:00 2001 From: Petr Kalis Date: Tue, 26 Jan 2021 15:38:16 +0100 Subject: [PATCH 03/26] Remove unfinished prelaunch hook for templates Should be implemented properly later --- pype/hooks/photoshop/prelaunch.py | 131 ------------------------------ 1 file changed, 131 deletions(-) delete mode 100644 pype/hooks/photoshop/prelaunch.py diff --git a/pype/hooks/photoshop/prelaunch.py b/pype/hooks/photoshop/prelaunch.py deleted file mode 100644 index bcd842736e..0000000000 --- a/pype/hooks/photoshop/prelaunch.py +++ /dev/null @@ -1,131 +0,0 @@ -import os -import pype.lib -from pype.api import Logger, Anatomy -import shutil -import getpass -import avalon.api - - -class PhotoshopPrelaunch(pype.lib.PypeHook): - """This hook will check for the existence of PyWin - - PyWin is a requirement for the Photoshop integration. - """ - project_code = None - host_name = "photoshop" - - def __init__(self, logger=None): - if not logger: - self.log = Logger().get_logger(self.__class__.__name__) - else: - self.log = logger - - self.signature = "( {} )".format(self.__class__.__name__) - - def execute(self, *args, env: dict = None) -> bool: - output = pype.lib._subprocess(["pip", "install", "pywin32==227"]) - self.log.info(output) - - workfile_path = self.get_workfile_plath(env, self.host_name) - - # adding compulsory environment var for openting file - env["PYPE_WORKFILE_PATH"] = workfile_path - - return True - - def get_anatomy_filled(self, workdir, project_name, asset_name, - task_name, host_name, extension): - dbcon = avalon.api.AvalonMongoDB() - dbcon.install() - dbcon.Session["AVALON_PROJECT"] = project_name - project_document = dbcon.find_one({"type": "project"}) - asset_document = dbcon.find_one({ - "type": "asset", - "name": asset_name - }) - dbcon.uninstall() - - asset_doc_parents = asset_document["data"].get("parents") - hierarchy = "/".join(asset_doc_parents) - - data = { - "project": { - "name": project_document["name"], - "code": project_document["data"].get("code") - }, - "task": task_name, - "asset": asset_name, - "app": host_name, - "hierarchy": hierarchy - } - anatomy = Anatomy(project_name) - file_template = anatomy.templates["work"]["file"] - data.update({ - "version": 1, - "user": os.environ.get("PYPE_USERNAME") or getpass.getuser(), - "ext": extension - }) - - return avalon.api.last_workfile( - workdir, file_template, data, - avalon.api.HOST_WORKFILE_EXTENSIONS[host_name], True - ) - - def get_workfile_plath(self, env, host_name): - # get context variables - project_name = env["AVALON_PROJECT"] - asset_name = env["AVALON_ASSET"] - task_name = env["AVALON_TASK"] - workdir = env["AVALON_WORKDIR"] - extension = avalon.api.HOST_WORKFILE_EXTENSIONS[host_name][0] - template_env_key = "{}_TEMPLATE".format(host_name.upper()) - - # get workfile path - workfile_path = self.get_anatomy_filled( - workdir, project_name, asset_name, task_name, host_name, extension) - - # create workdir if doesn't exist - os.makedirs(workdir, exist_ok=True) - self.log.info("Work dir is: `{}`".format(workdir)) - - # get last version of workfile - workfile_last = env.get("AVALON_LAST_WORKFILE") - self.log.debug("_ workfile_last: `{}`".format(workfile_last)) - - if workfile_last: - workfile = workfile_last - workfile_path = os.path.join(workdir, workfile) - - # copy workfile from template if doesnt exist any on path - if not os.path.isfile(workfile_path): - # try to get path from environment or use default - # from `pype.hosts.` dir - template_path = env.get(template_env_key) or os.path.join( - env.get("PYPE_MODULE_ROOT"), - "pype/hosts/{}/template{}".format(host_name, extension) - ) - - # try to get template from project config folder - proj_config_path = os.path.join( - env["PYPE_PROJECT_CONFIGS"], project_name) - if os.path.exists(proj_config_path): - - template_file = None - for f in os.listdir(proj_config_path): - if extension in os.path.splitext(f): - template_file = f - - if template_file: - template_path = os.path.join( - proj_config_path, template_file) - self.log.info( - "Creating workfile from template: `{}`".format(template_path)) - - # copy template to new destinantion - shutil.copy2( - os.path.normpath(template_path), - os.path.normpath(workfile_path) - ) - - self.log.info("Workfile to open: `{}`".format(workfile_path)) - return workfile_path From dd6e1c3c43d3d79c0e917c687ec260d40e93fba7 Mon Sep 17 00:00:00 2001 From: Petr Kalis Date: Tue, 26 Jan 2021 15:39:18 +0100 Subject: [PATCH 04/26] Fix proper escaping for executable - AfterEffects --- pype/hooks/aftereffects/pre_launch_args.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pype/hooks/aftereffects/pre_launch_args.py b/pype/hooks/aftereffects/pre_launch_args.py index e39247b983..435893fbc0 100644 --- a/pype/hooks/aftereffects/pre_launch_args.py +++ b/pype/hooks/aftereffects/pre_launch_args.py @@ -26,7 +26,7 @@ class AfterEffectsPrelaunchHook(PreLaunchHook): ( "import avalon.aftereffects;" "avalon.aftereffects.launch(\"{}\")" - ).format(aftereffects_executable) + ).format(aftereffects_executable.replace("\\", "\\\\")) ] # Append as whole list as these areguments should not be separated From 523ec644fe10777c4f490da8b5c6ce85f61a47e5 Mon Sep 17 00:00:00 2001 From: Petr Kalis Date: Tue, 26 Jan 2021 15:39:38 +0100 Subject: [PATCH 05/26] Fix proper escaping for executable - Harmony --- pype/hooks/harmony/pre_launch_args.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pype/hooks/harmony/pre_launch_args.py b/pype/hooks/harmony/pre_launch_args.py index f09cef9384..a61977f4e7 100644 --- a/pype/hooks/harmony/pre_launch_args.py +++ b/pype/hooks/harmony/pre_launch_args.py @@ -26,7 +26,7 @@ class HarmonyPrelaunchHook(PreLaunchHook): ( "import avalon.harmony;" "avalon.harmony.launch(\"{}\")" - ).format(harmony_executable.replace("\\", "/")) + ).format(harmony_executable.replace("\\", "\\\\")) ] # Append as whole list as these areguments should not be separated From e91efcb8a34b27c5088096350e7b3a40bdf58e16 Mon Sep 17 00:00:00 2001 From: Petr Kalis Date: Tue, 26 Jan 2021 15:41:16 +0100 Subject: [PATCH 06/26] Fix proper escaping for executable - Photoshop Plus escaping of workfile path --- pype/hooks/photoshop/pre_launch_args.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/pype/hooks/photoshop/pre_launch_args.py b/pype/hooks/photoshop/pre_launch_args.py index b13e7d1e0f..6bd40eb2e1 100644 --- a/pype/hooks/photoshop/pre_launch_args.py +++ b/pype/hooks/photoshop/pre_launch_args.py @@ -20,13 +20,20 @@ class PhotoshopPrelaunchHook(PreLaunchHook): while self.launch_context.launch_args: remainders.append(self.launch_context.launch_args.pop(0)) + workfile_path = self.data["last_workfile_path"] + if not os.path.exists(workfile_path): + workfile_path = "" + new_launch_args = [ self.python_executable(), "-c", ( "import avalon.photoshop;" - "avalon.photoshop.launch(\"{}\")" - ).format(photoshop_executable) + "avalon.photoshop.launch(\"{}\", \"{}\")" + ).format( + photoshop_executable.replace("\\", "\\\\"), + workfile_path.replace("\\", "\\\\") + ) ] # Append as whole list as these areguments should not be separated From b2a8fabaa60135c4f545c74df9c36aff342bf2bd Mon Sep 17 00:00:00 2001 From: Milan Kolar Date: Thu, 28 Jan 2021 09:47:42 +0100 Subject: [PATCH 07/26] move maya files --- pype/hosts/maya/{ => api}/__init__.py | 0 pype/hosts/maya/{ => api}/action.py | 0 pype/hosts/maya/{ => api}/customize.py | 0 pype/hosts/maya/{ => api}/expected_files.py | 0 pype/hosts/maya/{ => api}/lib.py | 0 pype/hosts/maya/{ => api}/menu.json | 0 pype/hosts/maya/{ => api}/menu.py | 0 pype/hosts/maya/{ => api}/menu_backup.json | 0 pype/hosts/maya/{ => api}/plugin.py | 0 pype/{setdress_api.py => hosts/maya/api/setdress.py} | 0 pype/{plugins/maya => hosts/maya/plugins}/__init__.py | 0 .../maya => hosts/maya/plugins}/create/create_animation.py | 0 pype/{plugins/maya => hosts/maya/plugins}/create/create_ass.py | 0 .../maya => hosts/maya/plugins}/create/create_assembly.py | 0 pype/{plugins/maya => hosts/maya/plugins}/create/create_camera.py | 0 pype/{plugins/maya => hosts/maya/plugins}/create/create_layout.py | 0 pype/{plugins/maya => hosts/maya/plugins}/create/create_look.py | 0 .../maya => hosts/maya/plugins}/create/create_mayaascii.py | 0 pype/{plugins/maya => hosts/maya/plugins}/create/create_model.py | 0 .../maya => hosts/maya/plugins}/create/create_pointcache.py | 0 pype/{plugins/maya => hosts/maya/plugins}/create/create_render.py | 0 .../maya => hosts/maya/plugins}/create/create_rendersetup.py | 0 pype/{plugins/maya => hosts/maya/plugins}/create/create_review.py | 0 pype/{plugins/maya => hosts/maya/plugins}/create/create_rig.py | 0 .../maya => hosts/maya/plugins}/create/create_setdress.py | 0 .../maya/plugins}/create/create_unreal_staticmesh.py | 0 .../maya => hosts/maya/plugins}/create/create_vrayproxy.py | 0 .../maya => hosts/maya/plugins}/create/create_vrayscene.py | 0 .../maya => hosts/maya/plugins}/create/create_yeti_cache.py | 0 .../maya => hosts/maya/plugins}/create/create_yeti_rig.py | 0 pype/{plugins/maya => hosts/maya/plugins}/load/_load_animation.py | 0 pype/{plugins/maya => hosts/maya/plugins}/load/actions.py | 0 pype/{plugins/maya => hosts/maya/plugins}/load/load_ass.py | 0 pype/{plugins/maya => hosts/maya/plugins}/load/load_assembly.py | 0 pype/{plugins/maya => hosts/maya/plugins}/load/load_audio.py | 0 pype/{plugins/maya => hosts/maya/plugins}/load/load_gpucache.py | 0 .../{plugins/maya => hosts/maya/plugins}/load/load_image_plane.py | 0 pype/{plugins/maya => hosts/maya/plugins}/load/load_look.py | 0 pype/{plugins/maya => hosts/maya/plugins}/load/load_matchmove.py | 0 pype/{plugins/maya => hosts/maya/plugins}/load/load_reference.py | 0 .../{plugins/maya => hosts/maya/plugins}/load/load_rendersetup.py | 0 .../maya => hosts/maya/plugins}/load/load_vdb_to_redshift.py | 0 .../{plugins/maya => hosts/maya/plugins}/load/load_vdb_to_vray.py | 0 pype/{plugins/maya => hosts/maya/plugins}/load/load_vrayproxy.py | 0 pype/{plugins/maya => hosts/maya/plugins}/load/load_yeti_cache.py | 0 pype/{plugins/maya => hosts/maya/plugins}/load/load_yeti_rig.py | 0 pype/{plugins/maya => hosts/maya/plugins}/publish/__init__.py | 0 .../maya => hosts/maya/plugins}/publish/collect_animation.py | 0 pype/{plugins/maya => hosts/maya/plugins}/publish/collect_ass.py | 0 .../maya => hosts/maya/plugins}/publish/collect_assembly.py | 0 .../maya/plugins}/publish/collect_file_dependencies.py | 0 .../maya => hosts/maya/plugins}/publish/collect_ftrack_family.py | 0 .../maya => hosts/maya/plugins}/publish/collect_history.py | 0 .../maya => hosts/maya/plugins}/publish/collect_instances.py | 0 pype/{plugins/maya => hosts/maya/plugins}/publish/collect_look.py | 0 .../maya => hosts/maya/plugins}/publish/collect_maya_units.py | 0 .../maya => hosts/maya/plugins}/publish/collect_maya_workspace.py | 0 .../maya => hosts/maya/plugins}/publish/collect_mayaascii.py | 0 .../{plugins/maya => hosts/maya/plugins}/publish/collect_model.py | 0 .../maya => hosts/maya/plugins}/publish/collect_remove_marked.py | 0 .../maya => hosts/maya/plugins}/publish/collect_render.py | 0 .../maya/plugins}/publish/collect_render_layer_aovs.py | 0 .../maya/plugins}/publish/collect_renderable_camera.py | 0 .../maya => hosts/maya/plugins}/publish/collect_review.py | 0 pype/{plugins/maya => hosts/maya/plugins}/publish/collect_rig.py | 0 .../{plugins/maya => hosts/maya/plugins}/publish/collect_scene.py | 0 .../maya/plugins}/publish/collect_unreal_staticmesh.py | 0 .../maya => hosts/maya/plugins}/publish/collect_workscene_fps.py | 0 .../maya => hosts/maya/plugins}/publish/collect_yeti_cache.py | 0 .../maya => hosts/maya/plugins}/publish/collect_yeti_rig.py | 0 .../maya/plugins}/publish/determine_future_version.py | 0 .../maya => hosts/maya/plugins}/publish/extract_animation.py | 0 pype/{plugins/maya => hosts/maya/plugins}/publish/extract_ass.py | 0 .../maya => hosts/maya/plugins}/publish/extract_assembly.py | 0 .../maya => hosts/maya/plugins}/publish/extract_assproxy.py | 0 .../maya => hosts/maya/plugins}/publish/extract_camera_alembic.py | 0 .../maya/plugins}/publish/extract_camera_mayaScene.py | 0 pype/{plugins/maya => hosts/maya/plugins}/publish/extract_fbx.py | 0 pype/{plugins/maya => hosts/maya/plugins}/publish/extract_look.py | 0 .../maya => hosts/maya/plugins}/publish/extract_maya_scene_raw.py | 0 .../{plugins/maya => hosts/maya/plugins}/publish/extract_model.py | 0 .../maya => hosts/maya/plugins}/publish/extract_playblast.py | 0 .../maya => hosts/maya/plugins}/publish/extract_pointcache.py | 0 .../maya => hosts/maya/plugins}/publish/extract_rendersetup.py | 0 pype/{plugins/maya => hosts/maya/plugins}/publish/extract_rig.py | 0 .../maya => hosts/maya/plugins}/publish/extract_thumbnail.py | 0 .../maya => hosts/maya/plugins}/publish/extract_vrayproxy.py | 0 .../maya => hosts/maya/plugins}/publish/extract_yeti_cache.py | 0 .../maya => hosts/maya/plugins}/publish/extract_yeti_rig.py | 0 .../maya/plugins}/publish/increment_current_file_deadline.py | 0 pype/{plugins/maya => hosts/maya/plugins}/publish/save_scene.py | 0 .../maya => hosts/maya/plugins}/publish/submit_maya_muster.py | 0 .../maya/plugins}/publish/validate_animation_content.py | 0 .../publish/validate_animation_out_set_related_node_ids.py | 0 .../maya/plugins}/publish/validate_ass_relative_paths.py | 0 .../maya => hosts/maya/plugins}/publish/validate_assembly_name.py | 0 .../maya/plugins}/publish/validate_assembly_namespaces.py | 0 .../maya/plugins}/publish/validate_assembly_transforms.py | 0 .../maya => hosts/maya/plugins}/publish/validate_attributes.py | 0 .../maya/plugins}/publish/validate_camera_attributes.py | 0 .../maya/plugins}/publish/validate_camera_contents.py | 0 .../maya => hosts/maya/plugins}/publish/validate_color_sets.py | 0 .../plugins}/publish/validate_current_renderlayer_renderable.py | 0 .../maya => hosts/maya/plugins}/publish/validate_frame_range.py | 0 .../maya/plugins}/publish/validate_instance_has_members.py | 0 .../maya/plugins}/publish/validate_instance_subset.py | 0 .../maya/plugins}/publish/validate_instancer_content.py | 0 .../maya/plugins}/publish/validate_instancer_frame_ranges.py | 0 .../maya => hosts/maya/plugins}/publish/validate_joints_hidden.py | 0 .../maya => hosts/maya/plugins}/publish/validate_look_contents.py | 0 .../plugins}/publish/validate_look_default_shaders_connections.py | 0 .../maya/plugins}/publish/validate_look_id_reference_edits.py | 0 .../maya/plugins}/publish/validate_look_members_unique.py | 0 .../maya/plugins}/publish/validate_look_no_default_shaders.py | 0 .../maya => hosts/maya/plugins}/publish/validate_look_sets.py | 0 .../maya/plugins}/publish/validate_look_shading_group.py | 0 .../maya/plugins}/publish/validate_look_single_shader.py | 0 .../maya => hosts/maya/plugins}/publish/validate_maya_units.py | 0 .../maya/plugins}/publish/validate_mesh_arnold_attributes.py | 0 .../maya => hosts/maya/plugins}/publish/validate_mesh_has_uv.py | 0 .../maya/plugins}/publish/validate_mesh_lamina_faces.py | 0 .../maya/plugins}/publish/validate_mesh_no_negative_scale.py | 0 .../maya/plugins}/publish/validate_mesh_non_manifold.py | 0 .../maya/plugins}/publish/validate_mesh_non_zero_edge.py | 0 .../maya/plugins}/publish/validate_mesh_normals_unlocked.py | 0 .../maya/plugins}/publish/validate_mesh_overlapping_uvs.py | 0 .../maya/plugins}/publish/validate_mesh_shader_connections.py | 0 .../maya/plugins}/publish/validate_mesh_single_uv_set.py | 0 .../maya/plugins}/publish/validate_mesh_uv_set_map1.py | 0 .../maya/plugins}/publish/validate_mesh_vertices_have_edges.py | 0 .../maya => hosts/maya/plugins}/publish/validate_model_content.py | 0 .../maya => hosts/maya/plugins}/publish/validate_model_name.py | 0 .../maya/plugins}/publish/validate_muster_connection.py | 0 .../maya => hosts/maya/plugins}/publish/validate_no_animation.py | 0 .../maya/plugins}/publish/validate_no_default_camera.py | 0 .../maya => hosts/maya/plugins}/publish/validate_no_namespace.py | 0 .../maya/plugins}/publish/validate_no_null_transforms.py | 0 .../maya/plugins}/publish/validate_no_unknown_nodes.py | 0 .../maya => hosts/maya/plugins}/publish/validate_no_vraymesh.py | 0 .../maya => hosts/maya/plugins}/publish/validate_node_ids.py | 0 .../maya/plugins}/publish/validate_node_ids_deformed_shapes.py | 0 .../maya/plugins}/publish/validate_node_ids_in_database.py | 0 .../maya/plugins}/publish/validate_node_ids_related.py | 0 .../maya/plugins}/publish/validate_node_ids_unique.py | 0 .../maya/plugins}/publish/validate_node_no_ghosting.py | 0 .../maya/plugins}/publish/validate_render_image_rule.py | 0 .../maya/plugins}/publish/validate_render_no_default_cameras.py | 0 .../maya/plugins}/publish/validate_render_single_camera.py | 0 .../maya/plugins}/publish/validate_renderlayer_aovs.py | 0 .../maya/plugins}/publish/validate_rendersettings.py | 0 .../maya => hosts/maya/plugins}/publish/validate_resources.py | 0 .../maya => hosts/maya/plugins}/publish/validate_rig_contents.py | 0 .../maya/plugins}/publish/validate_rig_controllers.py | 0 .../publish/validate_rig_controllers_arnold_attributes.py | 0 .../maya/plugins}/publish/validate_rig_out_set_node_ids.py | 0 .../maya/plugins}/publish/validate_rig_output_ids.py | 0 .../maya/plugins}/publish/validate_scene_set_workspace.py | 0 .../maya => hosts/maya/plugins}/publish/validate_shader_name.py | 0 .../maya/plugins}/publish/validate_shape_default_names.py | 0 .../maya/plugins}/publish/validate_shape_render_stats.py | 0 .../maya/plugins}/publish/validate_single_assembly.py | 0 .../maya/plugins}/publish/validate_skinCluster_deformer_set.py | 0 .../maya => hosts/maya/plugins}/publish/validate_step_size.py | 0 .../maya/plugins}/publish/validate_transform_naming_suffix.py | 0 .../maya/plugins}/publish/validate_transform_zero.py | 0 .../maya/plugins}/publish/validate_unicode_strings.py | 0 .../maya/plugins}/publish/validate_unreal_mesh_triangulated.py | 0 .../maya/plugins}/publish/validate_unreal_staticmesh_naming.py | 0 .../maya/plugins}/publish/validate_unreal_up_axis.py | 0 .../maya/plugins}/publish/validate_vray_distributed_rendering.py | 0 .../maya/plugins}/publish/validate_vray_referenced_aovs.py | 0 .../maya/plugins}/publish/validate_vray_translator_settings.py | 0 .../maya => hosts/maya/plugins}/publish/validate_vrayproxy.py | 0 .../maya/plugins}/publish/validate_vrayproxy_members.py | 0 .../maya/plugins}/publish/validate_yeti_renderscript_callbacks.py | 0 .../maya/plugins}/publish/validate_yeti_rig_cache_state.py | 0 .../maya/plugins}/publish/validate_yeti_rig_input_in_instance.py | 0 .../maya/plugins}/publish/validate_yeti_rig_settings.py | 0 pype/{resources/maya => hosts/maya/resources}/workspace.mel | 0 pype/{setup/maya => hosts/maya/startup}/userSetup.py | 0 180 files changed, 0 insertions(+), 0 deletions(-) rename pype/hosts/maya/{ => api}/__init__.py (100%) rename pype/hosts/maya/{ => api}/action.py (100%) rename pype/hosts/maya/{ => api}/customize.py (100%) rename pype/hosts/maya/{ => api}/expected_files.py (100%) rename pype/hosts/maya/{ => api}/lib.py (100%) rename pype/hosts/maya/{ => api}/menu.json (100%) rename pype/hosts/maya/{ => api}/menu.py (100%) rename pype/hosts/maya/{ => api}/menu_backup.json (100%) rename pype/hosts/maya/{ => api}/plugin.py (100%) rename pype/{setdress_api.py => hosts/maya/api/setdress.py} (100%) rename pype/{plugins/maya => hosts/maya/plugins}/__init__.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/create/create_animation.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/create/create_ass.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/create/create_assembly.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/create/create_camera.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/create/create_layout.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/create/create_look.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/create/create_mayaascii.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/create/create_model.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/create/create_pointcache.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/create/create_render.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/create/create_rendersetup.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/create/create_review.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/create/create_rig.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/create/create_setdress.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/create/create_unreal_staticmesh.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/create/create_vrayproxy.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/create/create_vrayscene.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/create/create_yeti_cache.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/create/create_yeti_rig.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/load/_load_animation.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/load/actions.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/load/load_ass.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/load/load_assembly.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/load/load_audio.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/load/load_gpucache.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/load/load_image_plane.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/load/load_look.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/load/load_matchmove.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/load/load_reference.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/load/load_rendersetup.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/load/load_vdb_to_redshift.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/load/load_vdb_to_vray.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/load/load_vrayproxy.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/load/load_yeti_cache.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/load/load_yeti_rig.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/__init__.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/collect_animation.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/collect_ass.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/collect_assembly.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/collect_file_dependencies.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/collect_ftrack_family.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/collect_history.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/collect_instances.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/collect_look.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/collect_maya_units.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/collect_maya_workspace.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/collect_mayaascii.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/collect_model.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/collect_remove_marked.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/collect_render.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/collect_render_layer_aovs.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/collect_renderable_camera.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/collect_review.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/collect_rig.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/collect_scene.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/collect_unreal_staticmesh.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/collect_workscene_fps.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/collect_yeti_cache.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/collect_yeti_rig.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/determine_future_version.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/extract_animation.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/extract_ass.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/extract_assembly.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/extract_assproxy.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/extract_camera_alembic.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/extract_camera_mayaScene.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/extract_fbx.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/extract_look.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/extract_maya_scene_raw.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/extract_model.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/extract_playblast.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/extract_pointcache.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/extract_rendersetup.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/extract_rig.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/extract_thumbnail.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/extract_vrayproxy.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/extract_yeti_cache.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/extract_yeti_rig.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/increment_current_file_deadline.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/save_scene.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/submit_maya_muster.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/validate_animation_content.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/validate_animation_out_set_related_node_ids.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/validate_ass_relative_paths.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/validate_assembly_name.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/validate_assembly_namespaces.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/validate_assembly_transforms.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/validate_attributes.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/validate_camera_attributes.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/validate_camera_contents.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/validate_color_sets.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/validate_current_renderlayer_renderable.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/validate_frame_range.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/validate_instance_has_members.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/validate_instance_subset.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/validate_instancer_content.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/validate_instancer_frame_ranges.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/validate_joints_hidden.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/validate_look_contents.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/validate_look_default_shaders_connections.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/validate_look_id_reference_edits.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/validate_look_members_unique.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/validate_look_no_default_shaders.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/validate_look_sets.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/validate_look_shading_group.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/validate_look_single_shader.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/validate_maya_units.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/validate_mesh_arnold_attributes.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/validate_mesh_has_uv.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/validate_mesh_lamina_faces.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/validate_mesh_no_negative_scale.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/validate_mesh_non_manifold.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/validate_mesh_non_zero_edge.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/validate_mesh_normals_unlocked.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/validate_mesh_overlapping_uvs.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/validate_mesh_shader_connections.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/validate_mesh_single_uv_set.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/validate_mesh_uv_set_map1.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/validate_mesh_vertices_have_edges.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/validate_model_content.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/validate_model_name.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/validate_muster_connection.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/validate_no_animation.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/validate_no_default_camera.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/validate_no_namespace.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/validate_no_null_transforms.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/validate_no_unknown_nodes.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/validate_no_vraymesh.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/validate_node_ids.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/validate_node_ids_deformed_shapes.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/validate_node_ids_in_database.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/validate_node_ids_related.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/validate_node_ids_unique.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/validate_node_no_ghosting.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/validate_render_image_rule.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/validate_render_no_default_cameras.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/validate_render_single_camera.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/validate_renderlayer_aovs.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/validate_rendersettings.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/validate_resources.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/validate_rig_contents.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/validate_rig_controllers.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/validate_rig_controllers_arnold_attributes.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/validate_rig_out_set_node_ids.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/validate_rig_output_ids.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/validate_scene_set_workspace.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/validate_shader_name.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/validate_shape_default_names.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/validate_shape_render_stats.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/validate_single_assembly.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/validate_skinCluster_deformer_set.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/validate_step_size.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/validate_transform_naming_suffix.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/validate_transform_zero.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/validate_unicode_strings.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/validate_unreal_mesh_triangulated.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/validate_unreal_staticmesh_naming.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/validate_unreal_up_axis.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/validate_vray_distributed_rendering.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/validate_vray_referenced_aovs.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/validate_vray_translator_settings.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/validate_vrayproxy.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/validate_vrayproxy_members.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/validate_yeti_renderscript_callbacks.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/validate_yeti_rig_cache_state.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/validate_yeti_rig_input_in_instance.py (100%) rename pype/{plugins/maya => hosts/maya/plugins}/publish/validate_yeti_rig_settings.py (100%) rename pype/{resources/maya => hosts/maya/resources}/workspace.mel (100%) rename pype/{setup/maya => hosts/maya/startup}/userSetup.py (100%) diff --git a/pype/hosts/maya/__init__.py b/pype/hosts/maya/api/__init__.py similarity index 100% rename from pype/hosts/maya/__init__.py rename to pype/hosts/maya/api/__init__.py diff --git a/pype/hosts/maya/action.py b/pype/hosts/maya/api/action.py similarity index 100% rename from pype/hosts/maya/action.py rename to pype/hosts/maya/api/action.py diff --git a/pype/hosts/maya/customize.py b/pype/hosts/maya/api/customize.py similarity index 100% rename from pype/hosts/maya/customize.py rename to pype/hosts/maya/api/customize.py diff --git a/pype/hosts/maya/expected_files.py b/pype/hosts/maya/api/expected_files.py similarity index 100% rename from pype/hosts/maya/expected_files.py rename to pype/hosts/maya/api/expected_files.py diff --git a/pype/hosts/maya/lib.py b/pype/hosts/maya/api/lib.py similarity index 100% rename from pype/hosts/maya/lib.py rename to pype/hosts/maya/api/lib.py diff --git a/pype/hosts/maya/menu.json b/pype/hosts/maya/api/menu.json similarity index 100% rename from pype/hosts/maya/menu.json rename to pype/hosts/maya/api/menu.json diff --git a/pype/hosts/maya/menu.py b/pype/hosts/maya/api/menu.py similarity index 100% rename from pype/hosts/maya/menu.py rename to pype/hosts/maya/api/menu.py diff --git a/pype/hosts/maya/menu_backup.json b/pype/hosts/maya/api/menu_backup.json similarity index 100% rename from pype/hosts/maya/menu_backup.json rename to pype/hosts/maya/api/menu_backup.json diff --git a/pype/hosts/maya/plugin.py b/pype/hosts/maya/api/plugin.py similarity index 100% rename from pype/hosts/maya/plugin.py rename to pype/hosts/maya/api/plugin.py diff --git a/pype/setdress_api.py b/pype/hosts/maya/api/setdress.py similarity index 100% rename from pype/setdress_api.py rename to pype/hosts/maya/api/setdress.py diff --git a/pype/plugins/maya/__init__.py b/pype/hosts/maya/plugins/__init__.py similarity index 100% rename from pype/plugins/maya/__init__.py rename to pype/hosts/maya/plugins/__init__.py diff --git a/pype/plugins/maya/create/create_animation.py b/pype/hosts/maya/plugins/create/create_animation.py similarity index 100% rename from pype/plugins/maya/create/create_animation.py rename to pype/hosts/maya/plugins/create/create_animation.py diff --git a/pype/plugins/maya/create/create_ass.py b/pype/hosts/maya/plugins/create/create_ass.py similarity index 100% rename from pype/plugins/maya/create/create_ass.py rename to pype/hosts/maya/plugins/create/create_ass.py diff --git a/pype/plugins/maya/create/create_assembly.py b/pype/hosts/maya/plugins/create/create_assembly.py similarity index 100% rename from pype/plugins/maya/create/create_assembly.py rename to pype/hosts/maya/plugins/create/create_assembly.py diff --git a/pype/plugins/maya/create/create_camera.py b/pype/hosts/maya/plugins/create/create_camera.py similarity index 100% rename from pype/plugins/maya/create/create_camera.py rename to pype/hosts/maya/plugins/create/create_camera.py diff --git a/pype/plugins/maya/create/create_layout.py b/pype/hosts/maya/plugins/create/create_layout.py similarity index 100% rename from pype/plugins/maya/create/create_layout.py rename to pype/hosts/maya/plugins/create/create_layout.py diff --git a/pype/plugins/maya/create/create_look.py b/pype/hosts/maya/plugins/create/create_look.py similarity index 100% rename from pype/plugins/maya/create/create_look.py rename to pype/hosts/maya/plugins/create/create_look.py diff --git a/pype/plugins/maya/create/create_mayaascii.py b/pype/hosts/maya/plugins/create/create_mayaascii.py similarity index 100% rename from pype/plugins/maya/create/create_mayaascii.py rename to pype/hosts/maya/plugins/create/create_mayaascii.py diff --git a/pype/plugins/maya/create/create_model.py b/pype/hosts/maya/plugins/create/create_model.py similarity index 100% rename from pype/plugins/maya/create/create_model.py rename to pype/hosts/maya/plugins/create/create_model.py diff --git a/pype/plugins/maya/create/create_pointcache.py b/pype/hosts/maya/plugins/create/create_pointcache.py similarity index 100% rename from pype/plugins/maya/create/create_pointcache.py rename to pype/hosts/maya/plugins/create/create_pointcache.py diff --git a/pype/plugins/maya/create/create_render.py b/pype/hosts/maya/plugins/create/create_render.py similarity index 100% rename from pype/plugins/maya/create/create_render.py rename to pype/hosts/maya/plugins/create/create_render.py diff --git a/pype/plugins/maya/create/create_rendersetup.py b/pype/hosts/maya/plugins/create/create_rendersetup.py similarity index 100% rename from pype/plugins/maya/create/create_rendersetup.py rename to pype/hosts/maya/plugins/create/create_rendersetup.py diff --git a/pype/plugins/maya/create/create_review.py b/pype/hosts/maya/plugins/create/create_review.py similarity index 100% rename from pype/plugins/maya/create/create_review.py rename to pype/hosts/maya/plugins/create/create_review.py diff --git a/pype/plugins/maya/create/create_rig.py b/pype/hosts/maya/plugins/create/create_rig.py similarity index 100% rename from pype/plugins/maya/create/create_rig.py rename to pype/hosts/maya/plugins/create/create_rig.py diff --git a/pype/plugins/maya/create/create_setdress.py b/pype/hosts/maya/plugins/create/create_setdress.py similarity index 100% rename from pype/plugins/maya/create/create_setdress.py rename to pype/hosts/maya/plugins/create/create_setdress.py diff --git a/pype/plugins/maya/create/create_unreal_staticmesh.py b/pype/hosts/maya/plugins/create/create_unreal_staticmesh.py similarity index 100% rename from pype/plugins/maya/create/create_unreal_staticmesh.py rename to pype/hosts/maya/plugins/create/create_unreal_staticmesh.py diff --git a/pype/plugins/maya/create/create_vrayproxy.py b/pype/hosts/maya/plugins/create/create_vrayproxy.py similarity index 100% rename from pype/plugins/maya/create/create_vrayproxy.py rename to pype/hosts/maya/plugins/create/create_vrayproxy.py diff --git a/pype/plugins/maya/create/create_vrayscene.py b/pype/hosts/maya/plugins/create/create_vrayscene.py similarity index 100% rename from pype/plugins/maya/create/create_vrayscene.py rename to pype/hosts/maya/plugins/create/create_vrayscene.py diff --git a/pype/plugins/maya/create/create_yeti_cache.py b/pype/hosts/maya/plugins/create/create_yeti_cache.py similarity index 100% rename from pype/plugins/maya/create/create_yeti_cache.py rename to pype/hosts/maya/plugins/create/create_yeti_cache.py diff --git a/pype/plugins/maya/create/create_yeti_rig.py b/pype/hosts/maya/plugins/create/create_yeti_rig.py similarity index 100% rename from pype/plugins/maya/create/create_yeti_rig.py rename to pype/hosts/maya/plugins/create/create_yeti_rig.py diff --git a/pype/plugins/maya/load/_load_animation.py b/pype/hosts/maya/plugins/load/_load_animation.py similarity index 100% rename from pype/plugins/maya/load/_load_animation.py rename to pype/hosts/maya/plugins/load/_load_animation.py diff --git a/pype/plugins/maya/load/actions.py b/pype/hosts/maya/plugins/load/actions.py similarity index 100% rename from pype/plugins/maya/load/actions.py rename to pype/hosts/maya/plugins/load/actions.py diff --git a/pype/plugins/maya/load/load_ass.py b/pype/hosts/maya/plugins/load/load_ass.py similarity index 100% rename from pype/plugins/maya/load/load_ass.py rename to pype/hosts/maya/plugins/load/load_ass.py diff --git a/pype/plugins/maya/load/load_assembly.py b/pype/hosts/maya/plugins/load/load_assembly.py similarity index 100% rename from pype/plugins/maya/load/load_assembly.py rename to pype/hosts/maya/plugins/load/load_assembly.py diff --git a/pype/plugins/maya/load/load_audio.py b/pype/hosts/maya/plugins/load/load_audio.py similarity index 100% rename from pype/plugins/maya/load/load_audio.py rename to pype/hosts/maya/plugins/load/load_audio.py diff --git a/pype/plugins/maya/load/load_gpucache.py b/pype/hosts/maya/plugins/load/load_gpucache.py similarity index 100% rename from pype/plugins/maya/load/load_gpucache.py rename to pype/hosts/maya/plugins/load/load_gpucache.py diff --git a/pype/plugins/maya/load/load_image_plane.py b/pype/hosts/maya/plugins/load/load_image_plane.py similarity index 100% rename from pype/plugins/maya/load/load_image_plane.py rename to pype/hosts/maya/plugins/load/load_image_plane.py diff --git a/pype/plugins/maya/load/load_look.py b/pype/hosts/maya/plugins/load/load_look.py similarity index 100% rename from pype/plugins/maya/load/load_look.py rename to pype/hosts/maya/plugins/load/load_look.py diff --git a/pype/plugins/maya/load/load_matchmove.py b/pype/hosts/maya/plugins/load/load_matchmove.py similarity index 100% rename from pype/plugins/maya/load/load_matchmove.py rename to pype/hosts/maya/plugins/load/load_matchmove.py diff --git a/pype/plugins/maya/load/load_reference.py b/pype/hosts/maya/plugins/load/load_reference.py similarity index 100% rename from pype/plugins/maya/load/load_reference.py rename to pype/hosts/maya/plugins/load/load_reference.py diff --git a/pype/plugins/maya/load/load_rendersetup.py b/pype/hosts/maya/plugins/load/load_rendersetup.py similarity index 100% rename from pype/plugins/maya/load/load_rendersetup.py rename to pype/hosts/maya/plugins/load/load_rendersetup.py diff --git a/pype/plugins/maya/load/load_vdb_to_redshift.py b/pype/hosts/maya/plugins/load/load_vdb_to_redshift.py similarity index 100% rename from pype/plugins/maya/load/load_vdb_to_redshift.py rename to pype/hosts/maya/plugins/load/load_vdb_to_redshift.py diff --git a/pype/plugins/maya/load/load_vdb_to_vray.py b/pype/hosts/maya/plugins/load/load_vdb_to_vray.py similarity index 100% rename from pype/plugins/maya/load/load_vdb_to_vray.py rename to pype/hosts/maya/plugins/load/load_vdb_to_vray.py diff --git a/pype/plugins/maya/load/load_vrayproxy.py b/pype/hosts/maya/plugins/load/load_vrayproxy.py similarity index 100% rename from pype/plugins/maya/load/load_vrayproxy.py rename to pype/hosts/maya/plugins/load/load_vrayproxy.py diff --git a/pype/plugins/maya/load/load_yeti_cache.py b/pype/hosts/maya/plugins/load/load_yeti_cache.py similarity index 100% rename from pype/plugins/maya/load/load_yeti_cache.py rename to pype/hosts/maya/plugins/load/load_yeti_cache.py diff --git a/pype/plugins/maya/load/load_yeti_rig.py b/pype/hosts/maya/plugins/load/load_yeti_rig.py similarity index 100% rename from pype/plugins/maya/load/load_yeti_rig.py rename to pype/hosts/maya/plugins/load/load_yeti_rig.py diff --git a/pype/plugins/maya/publish/__init__.py b/pype/hosts/maya/plugins/publish/__init__.py similarity index 100% rename from pype/plugins/maya/publish/__init__.py rename to pype/hosts/maya/plugins/publish/__init__.py diff --git a/pype/plugins/maya/publish/collect_animation.py b/pype/hosts/maya/plugins/publish/collect_animation.py similarity index 100% rename from pype/plugins/maya/publish/collect_animation.py rename to pype/hosts/maya/plugins/publish/collect_animation.py diff --git a/pype/plugins/maya/publish/collect_ass.py b/pype/hosts/maya/plugins/publish/collect_ass.py similarity index 100% rename from pype/plugins/maya/publish/collect_ass.py rename to pype/hosts/maya/plugins/publish/collect_ass.py diff --git a/pype/plugins/maya/publish/collect_assembly.py b/pype/hosts/maya/plugins/publish/collect_assembly.py similarity index 100% rename from pype/plugins/maya/publish/collect_assembly.py rename to pype/hosts/maya/plugins/publish/collect_assembly.py diff --git a/pype/plugins/maya/publish/collect_file_dependencies.py b/pype/hosts/maya/plugins/publish/collect_file_dependencies.py similarity index 100% rename from pype/plugins/maya/publish/collect_file_dependencies.py rename to pype/hosts/maya/plugins/publish/collect_file_dependencies.py diff --git a/pype/plugins/maya/publish/collect_ftrack_family.py b/pype/hosts/maya/plugins/publish/collect_ftrack_family.py similarity index 100% rename from pype/plugins/maya/publish/collect_ftrack_family.py rename to pype/hosts/maya/plugins/publish/collect_ftrack_family.py diff --git a/pype/plugins/maya/publish/collect_history.py b/pype/hosts/maya/plugins/publish/collect_history.py similarity index 100% rename from pype/plugins/maya/publish/collect_history.py rename to pype/hosts/maya/plugins/publish/collect_history.py diff --git a/pype/plugins/maya/publish/collect_instances.py b/pype/hosts/maya/plugins/publish/collect_instances.py similarity index 100% rename from pype/plugins/maya/publish/collect_instances.py rename to pype/hosts/maya/plugins/publish/collect_instances.py diff --git a/pype/plugins/maya/publish/collect_look.py b/pype/hosts/maya/plugins/publish/collect_look.py similarity index 100% rename from pype/plugins/maya/publish/collect_look.py rename to pype/hosts/maya/plugins/publish/collect_look.py diff --git a/pype/plugins/maya/publish/collect_maya_units.py b/pype/hosts/maya/plugins/publish/collect_maya_units.py similarity index 100% rename from pype/plugins/maya/publish/collect_maya_units.py rename to pype/hosts/maya/plugins/publish/collect_maya_units.py diff --git a/pype/plugins/maya/publish/collect_maya_workspace.py b/pype/hosts/maya/plugins/publish/collect_maya_workspace.py similarity index 100% rename from pype/plugins/maya/publish/collect_maya_workspace.py rename to pype/hosts/maya/plugins/publish/collect_maya_workspace.py diff --git a/pype/plugins/maya/publish/collect_mayaascii.py b/pype/hosts/maya/plugins/publish/collect_mayaascii.py similarity index 100% rename from pype/plugins/maya/publish/collect_mayaascii.py rename to pype/hosts/maya/plugins/publish/collect_mayaascii.py diff --git a/pype/plugins/maya/publish/collect_model.py b/pype/hosts/maya/plugins/publish/collect_model.py similarity index 100% rename from pype/plugins/maya/publish/collect_model.py rename to pype/hosts/maya/plugins/publish/collect_model.py diff --git a/pype/plugins/maya/publish/collect_remove_marked.py b/pype/hosts/maya/plugins/publish/collect_remove_marked.py similarity index 100% rename from pype/plugins/maya/publish/collect_remove_marked.py rename to pype/hosts/maya/plugins/publish/collect_remove_marked.py diff --git a/pype/plugins/maya/publish/collect_render.py b/pype/hosts/maya/plugins/publish/collect_render.py similarity index 100% rename from pype/plugins/maya/publish/collect_render.py rename to pype/hosts/maya/plugins/publish/collect_render.py diff --git a/pype/plugins/maya/publish/collect_render_layer_aovs.py b/pype/hosts/maya/plugins/publish/collect_render_layer_aovs.py similarity index 100% rename from pype/plugins/maya/publish/collect_render_layer_aovs.py rename to pype/hosts/maya/plugins/publish/collect_render_layer_aovs.py diff --git a/pype/plugins/maya/publish/collect_renderable_camera.py b/pype/hosts/maya/plugins/publish/collect_renderable_camera.py similarity index 100% rename from pype/plugins/maya/publish/collect_renderable_camera.py rename to pype/hosts/maya/plugins/publish/collect_renderable_camera.py diff --git a/pype/plugins/maya/publish/collect_review.py b/pype/hosts/maya/plugins/publish/collect_review.py similarity index 100% rename from pype/plugins/maya/publish/collect_review.py rename to pype/hosts/maya/plugins/publish/collect_review.py diff --git a/pype/plugins/maya/publish/collect_rig.py b/pype/hosts/maya/plugins/publish/collect_rig.py similarity index 100% rename from pype/plugins/maya/publish/collect_rig.py rename to pype/hosts/maya/plugins/publish/collect_rig.py diff --git a/pype/plugins/maya/publish/collect_scene.py b/pype/hosts/maya/plugins/publish/collect_scene.py similarity index 100% rename from pype/plugins/maya/publish/collect_scene.py rename to pype/hosts/maya/plugins/publish/collect_scene.py diff --git a/pype/plugins/maya/publish/collect_unreal_staticmesh.py b/pype/hosts/maya/plugins/publish/collect_unreal_staticmesh.py similarity index 100% rename from pype/plugins/maya/publish/collect_unreal_staticmesh.py rename to pype/hosts/maya/plugins/publish/collect_unreal_staticmesh.py diff --git a/pype/plugins/maya/publish/collect_workscene_fps.py b/pype/hosts/maya/plugins/publish/collect_workscene_fps.py similarity index 100% rename from pype/plugins/maya/publish/collect_workscene_fps.py rename to pype/hosts/maya/plugins/publish/collect_workscene_fps.py diff --git a/pype/plugins/maya/publish/collect_yeti_cache.py b/pype/hosts/maya/plugins/publish/collect_yeti_cache.py similarity index 100% rename from pype/plugins/maya/publish/collect_yeti_cache.py rename to pype/hosts/maya/plugins/publish/collect_yeti_cache.py diff --git a/pype/plugins/maya/publish/collect_yeti_rig.py b/pype/hosts/maya/plugins/publish/collect_yeti_rig.py similarity index 100% rename from pype/plugins/maya/publish/collect_yeti_rig.py rename to pype/hosts/maya/plugins/publish/collect_yeti_rig.py diff --git a/pype/plugins/maya/publish/determine_future_version.py b/pype/hosts/maya/plugins/publish/determine_future_version.py similarity index 100% rename from pype/plugins/maya/publish/determine_future_version.py rename to pype/hosts/maya/plugins/publish/determine_future_version.py diff --git a/pype/plugins/maya/publish/extract_animation.py b/pype/hosts/maya/plugins/publish/extract_animation.py similarity index 100% rename from pype/plugins/maya/publish/extract_animation.py rename to pype/hosts/maya/plugins/publish/extract_animation.py diff --git a/pype/plugins/maya/publish/extract_ass.py b/pype/hosts/maya/plugins/publish/extract_ass.py similarity index 100% rename from pype/plugins/maya/publish/extract_ass.py rename to pype/hosts/maya/plugins/publish/extract_ass.py diff --git a/pype/plugins/maya/publish/extract_assembly.py b/pype/hosts/maya/plugins/publish/extract_assembly.py similarity index 100% rename from pype/plugins/maya/publish/extract_assembly.py rename to pype/hosts/maya/plugins/publish/extract_assembly.py diff --git a/pype/plugins/maya/publish/extract_assproxy.py b/pype/hosts/maya/plugins/publish/extract_assproxy.py similarity index 100% rename from pype/plugins/maya/publish/extract_assproxy.py rename to pype/hosts/maya/plugins/publish/extract_assproxy.py diff --git a/pype/plugins/maya/publish/extract_camera_alembic.py b/pype/hosts/maya/plugins/publish/extract_camera_alembic.py similarity index 100% rename from pype/plugins/maya/publish/extract_camera_alembic.py rename to pype/hosts/maya/plugins/publish/extract_camera_alembic.py diff --git a/pype/plugins/maya/publish/extract_camera_mayaScene.py b/pype/hosts/maya/plugins/publish/extract_camera_mayaScene.py similarity index 100% rename from pype/plugins/maya/publish/extract_camera_mayaScene.py rename to pype/hosts/maya/plugins/publish/extract_camera_mayaScene.py diff --git a/pype/plugins/maya/publish/extract_fbx.py b/pype/hosts/maya/plugins/publish/extract_fbx.py similarity index 100% rename from pype/plugins/maya/publish/extract_fbx.py rename to pype/hosts/maya/plugins/publish/extract_fbx.py diff --git a/pype/plugins/maya/publish/extract_look.py b/pype/hosts/maya/plugins/publish/extract_look.py similarity index 100% rename from pype/plugins/maya/publish/extract_look.py rename to pype/hosts/maya/plugins/publish/extract_look.py diff --git a/pype/plugins/maya/publish/extract_maya_scene_raw.py b/pype/hosts/maya/plugins/publish/extract_maya_scene_raw.py similarity index 100% rename from pype/plugins/maya/publish/extract_maya_scene_raw.py rename to pype/hosts/maya/plugins/publish/extract_maya_scene_raw.py diff --git a/pype/plugins/maya/publish/extract_model.py b/pype/hosts/maya/plugins/publish/extract_model.py similarity index 100% rename from pype/plugins/maya/publish/extract_model.py rename to pype/hosts/maya/plugins/publish/extract_model.py diff --git a/pype/plugins/maya/publish/extract_playblast.py b/pype/hosts/maya/plugins/publish/extract_playblast.py similarity index 100% rename from pype/plugins/maya/publish/extract_playblast.py rename to pype/hosts/maya/plugins/publish/extract_playblast.py diff --git a/pype/plugins/maya/publish/extract_pointcache.py b/pype/hosts/maya/plugins/publish/extract_pointcache.py similarity index 100% rename from pype/plugins/maya/publish/extract_pointcache.py rename to pype/hosts/maya/plugins/publish/extract_pointcache.py diff --git a/pype/plugins/maya/publish/extract_rendersetup.py b/pype/hosts/maya/plugins/publish/extract_rendersetup.py similarity index 100% rename from pype/plugins/maya/publish/extract_rendersetup.py rename to pype/hosts/maya/plugins/publish/extract_rendersetup.py diff --git a/pype/plugins/maya/publish/extract_rig.py b/pype/hosts/maya/plugins/publish/extract_rig.py similarity index 100% rename from pype/plugins/maya/publish/extract_rig.py rename to pype/hosts/maya/plugins/publish/extract_rig.py diff --git a/pype/plugins/maya/publish/extract_thumbnail.py b/pype/hosts/maya/plugins/publish/extract_thumbnail.py similarity index 100% rename from pype/plugins/maya/publish/extract_thumbnail.py rename to pype/hosts/maya/plugins/publish/extract_thumbnail.py diff --git a/pype/plugins/maya/publish/extract_vrayproxy.py b/pype/hosts/maya/plugins/publish/extract_vrayproxy.py similarity index 100% rename from pype/plugins/maya/publish/extract_vrayproxy.py rename to pype/hosts/maya/plugins/publish/extract_vrayproxy.py diff --git a/pype/plugins/maya/publish/extract_yeti_cache.py b/pype/hosts/maya/plugins/publish/extract_yeti_cache.py similarity index 100% rename from pype/plugins/maya/publish/extract_yeti_cache.py rename to pype/hosts/maya/plugins/publish/extract_yeti_cache.py diff --git a/pype/plugins/maya/publish/extract_yeti_rig.py b/pype/hosts/maya/plugins/publish/extract_yeti_rig.py similarity index 100% rename from pype/plugins/maya/publish/extract_yeti_rig.py rename to pype/hosts/maya/plugins/publish/extract_yeti_rig.py diff --git a/pype/plugins/maya/publish/increment_current_file_deadline.py b/pype/hosts/maya/plugins/publish/increment_current_file_deadline.py similarity index 100% rename from pype/plugins/maya/publish/increment_current_file_deadline.py rename to pype/hosts/maya/plugins/publish/increment_current_file_deadline.py diff --git a/pype/plugins/maya/publish/save_scene.py b/pype/hosts/maya/plugins/publish/save_scene.py similarity index 100% rename from pype/plugins/maya/publish/save_scene.py rename to pype/hosts/maya/plugins/publish/save_scene.py diff --git a/pype/plugins/maya/publish/submit_maya_muster.py b/pype/hosts/maya/plugins/publish/submit_maya_muster.py similarity index 100% rename from pype/plugins/maya/publish/submit_maya_muster.py rename to pype/hosts/maya/plugins/publish/submit_maya_muster.py diff --git a/pype/plugins/maya/publish/validate_animation_content.py b/pype/hosts/maya/plugins/publish/validate_animation_content.py similarity index 100% rename from pype/plugins/maya/publish/validate_animation_content.py rename to pype/hosts/maya/plugins/publish/validate_animation_content.py diff --git a/pype/plugins/maya/publish/validate_animation_out_set_related_node_ids.py b/pype/hosts/maya/plugins/publish/validate_animation_out_set_related_node_ids.py similarity index 100% rename from pype/plugins/maya/publish/validate_animation_out_set_related_node_ids.py rename to pype/hosts/maya/plugins/publish/validate_animation_out_set_related_node_ids.py diff --git a/pype/plugins/maya/publish/validate_ass_relative_paths.py b/pype/hosts/maya/plugins/publish/validate_ass_relative_paths.py similarity index 100% rename from pype/plugins/maya/publish/validate_ass_relative_paths.py rename to pype/hosts/maya/plugins/publish/validate_ass_relative_paths.py diff --git a/pype/plugins/maya/publish/validate_assembly_name.py b/pype/hosts/maya/plugins/publish/validate_assembly_name.py similarity index 100% rename from pype/plugins/maya/publish/validate_assembly_name.py rename to pype/hosts/maya/plugins/publish/validate_assembly_name.py diff --git a/pype/plugins/maya/publish/validate_assembly_namespaces.py b/pype/hosts/maya/plugins/publish/validate_assembly_namespaces.py similarity index 100% rename from pype/plugins/maya/publish/validate_assembly_namespaces.py rename to pype/hosts/maya/plugins/publish/validate_assembly_namespaces.py diff --git a/pype/plugins/maya/publish/validate_assembly_transforms.py b/pype/hosts/maya/plugins/publish/validate_assembly_transforms.py similarity index 100% rename from pype/plugins/maya/publish/validate_assembly_transforms.py rename to pype/hosts/maya/plugins/publish/validate_assembly_transforms.py diff --git a/pype/plugins/maya/publish/validate_attributes.py b/pype/hosts/maya/plugins/publish/validate_attributes.py similarity index 100% rename from pype/plugins/maya/publish/validate_attributes.py rename to pype/hosts/maya/plugins/publish/validate_attributes.py diff --git a/pype/plugins/maya/publish/validate_camera_attributes.py b/pype/hosts/maya/plugins/publish/validate_camera_attributes.py similarity index 100% rename from pype/plugins/maya/publish/validate_camera_attributes.py rename to pype/hosts/maya/plugins/publish/validate_camera_attributes.py diff --git a/pype/plugins/maya/publish/validate_camera_contents.py b/pype/hosts/maya/plugins/publish/validate_camera_contents.py similarity index 100% rename from pype/plugins/maya/publish/validate_camera_contents.py rename to pype/hosts/maya/plugins/publish/validate_camera_contents.py diff --git a/pype/plugins/maya/publish/validate_color_sets.py b/pype/hosts/maya/plugins/publish/validate_color_sets.py similarity index 100% rename from pype/plugins/maya/publish/validate_color_sets.py rename to pype/hosts/maya/plugins/publish/validate_color_sets.py diff --git a/pype/plugins/maya/publish/validate_current_renderlayer_renderable.py b/pype/hosts/maya/plugins/publish/validate_current_renderlayer_renderable.py similarity index 100% rename from pype/plugins/maya/publish/validate_current_renderlayer_renderable.py rename to pype/hosts/maya/plugins/publish/validate_current_renderlayer_renderable.py diff --git a/pype/plugins/maya/publish/validate_frame_range.py b/pype/hosts/maya/plugins/publish/validate_frame_range.py similarity index 100% rename from pype/plugins/maya/publish/validate_frame_range.py rename to pype/hosts/maya/plugins/publish/validate_frame_range.py diff --git a/pype/plugins/maya/publish/validate_instance_has_members.py b/pype/hosts/maya/plugins/publish/validate_instance_has_members.py similarity index 100% rename from pype/plugins/maya/publish/validate_instance_has_members.py rename to pype/hosts/maya/plugins/publish/validate_instance_has_members.py diff --git a/pype/plugins/maya/publish/validate_instance_subset.py b/pype/hosts/maya/plugins/publish/validate_instance_subset.py similarity index 100% rename from pype/plugins/maya/publish/validate_instance_subset.py rename to pype/hosts/maya/plugins/publish/validate_instance_subset.py diff --git a/pype/plugins/maya/publish/validate_instancer_content.py b/pype/hosts/maya/plugins/publish/validate_instancer_content.py similarity index 100% rename from pype/plugins/maya/publish/validate_instancer_content.py rename to pype/hosts/maya/plugins/publish/validate_instancer_content.py diff --git a/pype/plugins/maya/publish/validate_instancer_frame_ranges.py b/pype/hosts/maya/plugins/publish/validate_instancer_frame_ranges.py similarity index 100% rename from pype/plugins/maya/publish/validate_instancer_frame_ranges.py rename to pype/hosts/maya/plugins/publish/validate_instancer_frame_ranges.py diff --git a/pype/plugins/maya/publish/validate_joints_hidden.py b/pype/hosts/maya/plugins/publish/validate_joints_hidden.py similarity index 100% rename from pype/plugins/maya/publish/validate_joints_hidden.py rename to pype/hosts/maya/plugins/publish/validate_joints_hidden.py diff --git a/pype/plugins/maya/publish/validate_look_contents.py b/pype/hosts/maya/plugins/publish/validate_look_contents.py similarity index 100% rename from pype/plugins/maya/publish/validate_look_contents.py rename to pype/hosts/maya/plugins/publish/validate_look_contents.py diff --git a/pype/plugins/maya/publish/validate_look_default_shaders_connections.py b/pype/hosts/maya/plugins/publish/validate_look_default_shaders_connections.py similarity index 100% rename from pype/plugins/maya/publish/validate_look_default_shaders_connections.py rename to pype/hosts/maya/plugins/publish/validate_look_default_shaders_connections.py diff --git a/pype/plugins/maya/publish/validate_look_id_reference_edits.py b/pype/hosts/maya/plugins/publish/validate_look_id_reference_edits.py similarity index 100% rename from pype/plugins/maya/publish/validate_look_id_reference_edits.py rename to pype/hosts/maya/plugins/publish/validate_look_id_reference_edits.py diff --git a/pype/plugins/maya/publish/validate_look_members_unique.py b/pype/hosts/maya/plugins/publish/validate_look_members_unique.py similarity index 100% rename from pype/plugins/maya/publish/validate_look_members_unique.py rename to pype/hosts/maya/plugins/publish/validate_look_members_unique.py diff --git a/pype/plugins/maya/publish/validate_look_no_default_shaders.py b/pype/hosts/maya/plugins/publish/validate_look_no_default_shaders.py similarity index 100% rename from pype/plugins/maya/publish/validate_look_no_default_shaders.py rename to pype/hosts/maya/plugins/publish/validate_look_no_default_shaders.py diff --git a/pype/plugins/maya/publish/validate_look_sets.py b/pype/hosts/maya/plugins/publish/validate_look_sets.py similarity index 100% rename from pype/plugins/maya/publish/validate_look_sets.py rename to pype/hosts/maya/plugins/publish/validate_look_sets.py diff --git a/pype/plugins/maya/publish/validate_look_shading_group.py b/pype/hosts/maya/plugins/publish/validate_look_shading_group.py similarity index 100% rename from pype/plugins/maya/publish/validate_look_shading_group.py rename to pype/hosts/maya/plugins/publish/validate_look_shading_group.py diff --git a/pype/plugins/maya/publish/validate_look_single_shader.py b/pype/hosts/maya/plugins/publish/validate_look_single_shader.py similarity index 100% rename from pype/plugins/maya/publish/validate_look_single_shader.py rename to pype/hosts/maya/plugins/publish/validate_look_single_shader.py diff --git a/pype/plugins/maya/publish/validate_maya_units.py b/pype/hosts/maya/plugins/publish/validate_maya_units.py similarity index 100% rename from pype/plugins/maya/publish/validate_maya_units.py rename to pype/hosts/maya/plugins/publish/validate_maya_units.py diff --git a/pype/plugins/maya/publish/validate_mesh_arnold_attributes.py b/pype/hosts/maya/plugins/publish/validate_mesh_arnold_attributes.py similarity index 100% rename from pype/plugins/maya/publish/validate_mesh_arnold_attributes.py rename to pype/hosts/maya/plugins/publish/validate_mesh_arnold_attributes.py diff --git a/pype/plugins/maya/publish/validate_mesh_has_uv.py b/pype/hosts/maya/plugins/publish/validate_mesh_has_uv.py similarity index 100% rename from pype/plugins/maya/publish/validate_mesh_has_uv.py rename to pype/hosts/maya/plugins/publish/validate_mesh_has_uv.py diff --git a/pype/plugins/maya/publish/validate_mesh_lamina_faces.py b/pype/hosts/maya/plugins/publish/validate_mesh_lamina_faces.py similarity index 100% rename from pype/plugins/maya/publish/validate_mesh_lamina_faces.py rename to pype/hosts/maya/plugins/publish/validate_mesh_lamina_faces.py diff --git a/pype/plugins/maya/publish/validate_mesh_no_negative_scale.py b/pype/hosts/maya/plugins/publish/validate_mesh_no_negative_scale.py similarity index 100% rename from pype/plugins/maya/publish/validate_mesh_no_negative_scale.py rename to pype/hosts/maya/plugins/publish/validate_mesh_no_negative_scale.py diff --git a/pype/plugins/maya/publish/validate_mesh_non_manifold.py b/pype/hosts/maya/plugins/publish/validate_mesh_non_manifold.py similarity index 100% rename from pype/plugins/maya/publish/validate_mesh_non_manifold.py rename to pype/hosts/maya/plugins/publish/validate_mesh_non_manifold.py diff --git a/pype/plugins/maya/publish/validate_mesh_non_zero_edge.py b/pype/hosts/maya/plugins/publish/validate_mesh_non_zero_edge.py similarity index 100% rename from pype/plugins/maya/publish/validate_mesh_non_zero_edge.py rename to pype/hosts/maya/plugins/publish/validate_mesh_non_zero_edge.py diff --git a/pype/plugins/maya/publish/validate_mesh_normals_unlocked.py b/pype/hosts/maya/plugins/publish/validate_mesh_normals_unlocked.py similarity index 100% rename from pype/plugins/maya/publish/validate_mesh_normals_unlocked.py rename to pype/hosts/maya/plugins/publish/validate_mesh_normals_unlocked.py diff --git a/pype/plugins/maya/publish/validate_mesh_overlapping_uvs.py b/pype/hosts/maya/plugins/publish/validate_mesh_overlapping_uvs.py similarity index 100% rename from pype/plugins/maya/publish/validate_mesh_overlapping_uvs.py rename to pype/hosts/maya/plugins/publish/validate_mesh_overlapping_uvs.py diff --git a/pype/plugins/maya/publish/validate_mesh_shader_connections.py b/pype/hosts/maya/plugins/publish/validate_mesh_shader_connections.py similarity index 100% rename from pype/plugins/maya/publish/validate_mesh_shader_connections.py rename to pype/hosts/maya/plugins/publish/validate_mesh_shader_connections.py diff --git a/pype/plugins/maya/publish/validate_mesh_single_uv_set.py b/pype/hosts/maya/plugins/publish/validate_mesh_single_uv_set.py similarity index 100% rename from pype/plugins/maya/publish/validate_mesh_single_uv_set.py rename to pype/hosts/maya/plugins/publish/validate_mesh_single_uv_set.py diff --git a/pype/plugins/maya/publish/validate_mesh_uv_set_map1.py b/pype/hosts/maya/plugins/publish/validate_mesh_uv_set_map1.py similarity index 100% rename from pype/plugins/maya/publish/validate_mesh_uv_set_map1.py rename to pype/hosts/maya/plugins/publish/validate_mesh_uv_set_map1.py diff --git a/pype/plugins/maya/publish/validate_mesh_vertices_have_edges.py b/pype/hosts/maya/plugins/publish/validate_mesh_vertices_have_edges.py similarity index 100% rename from pype/plugins/maya/publish/validate_mesh_vertices_have_edges.py rename to pype/hosts/maya/plugins/publish/validate_mesh_vertices_have_edges.py diff --git a/pype/plugins/maya/publish/validate_model_content.py b/pype/hosts/maya/plugins/publish/validate_model_content.py similarity index 100% rename from pype/plugins/maya/publish/validate_model_content.py rename to pype/hosts/maya/plugins/publish/validate_model_content.py diff --git a/pype/plugins/maya/publish/validate_model_name.py b/pype/hosts/maya/plugins/publish/validate_model_name.py similarity index 100% rename from pype/plugins/maya/publish/validate_model_name.py rename to pype/hosts/maya/plugins/publish/validate_model_name.py diff --git a/pype/plugins/maya/publish/validate_muster_connection.py b/pype/hosts/maya/plugins/publish/validate_muster_connection.py similarity index 100% rename from pype/plugins/maya/publish/validate_muster_connection.py rename to pype/hosts/maya/plugins/publish/validate_muster_connection.py diff --git a/pype/plugins/maya/publish/validate_no_animation.py b/pype/hosts/maya/plugins/publish/validate_no_animation.py similarity index 100% rename from pype/plugins/maya/publish/validate_no_animation.py rename to pype/hosts/maya/plugins/publish/validate_no_animation.py diff --git a/pype/plugins/maya/publish/validate_no_default_camera.py b/pype/hosts/maya/plugins/publish/validate_no_default_camera.py similarity index 100% rename from pype/plugins/maya/publish/validate_no_default_camera.py rename to pype/hosts/maya/plugins/publish/validate_no_default_camera.py diff --git a/pype/plugins/maya/publish/validate_no_namespace.py b/pype/hosts/maya/plugins/publish/validate_no_namespace.py similarity index 100% rename from pype/plugins/maya/publish/validate_no_namespace.py rename to pype/hosts/maya/plugins/publish/validate_no_namespace.py diff --git a/pype/plugins/maya/publish/validate_no_null_transforms.py b/pype/hosts/maya/plugins/publish/validate_no_null_transforms.py similarity index 100% rename from pype/plugins/maya/publish/validate_no_null_transforms.py rename to pype/hosts/maya/plugins/publish/validate_no_null_transforms.py diff --git a/pype/plugins/maya/publish/validate_no_unknown_nodes.py b/pype/hosts/maya/plugins/publish/validate_no_unknown_nodes.py similarity index 100% rename from pype/plugins/maya/publish/validate_no_unknown_nodes.py rename to pype/hosts/maya/plugins/publish/validate_no_unknown_nodes.py diff --git a/pype/plugins/maya/publish/validate_no_vraymesh.py b/pype/hosts/maya/plugins/publish/validate_no_vraymesh.py similarity index 100% rename from pype/plugins/maya/publish/validate_no_vraymesh.py rename to pype/hosts/maya/plugins/publish/validate_no_vraymesh.py diff --git a/pype/plugins/maya/publish/validate_node_ids.py b/pype/hosts/maya/plugins/publish/validate_node_ids.py similarity index 100% rename from pype/plugins/maya/publish/validate_node_ids.py rename to pype/hosts/maya/plugins/publish/validate_node_ids.py diff --git a/pype/plugins/maya/publish/validate_node_ids_deformed_shapes.py b/pype/hosts/maya/plugins/publish/validate_node_ids_deformed_shapes.py similarity index 100% rename from pype/plugins/maya/publish/validate_node_ids_deformed_shapes.py rename to pype/hosts/maya/plugins/publish/validate_node_ids_deformed_shapes.py diff --git a/pype/plugins/maya/publish/validate_node_ids_in_database.py b/pype/hosts/maya/plugins/publish/validate_node_ids_in_database.py similarity index 100% rename from pype/plugins/maya/publish/validate_node_ids_in_database.py rename to pype/hosts/maya/plugins/publish/validate_node_ids_in_database.py diff --git a/pype/plugins/maya/publish/validate_node_ids_related.py b/pype/hosts/maya/plugins/publish/validate_node_ids_related.py similarity index 100% rename from pype/plugins/maya/publish/validate_node_ids_related.py rename to pype/hosts/maya/plugins/publish/validate_node_ids_related.py diff --git a/pype/plugins/maya/publish/validate_node_ids_unique.py b/pype/hosts/maya/plugins/publish/validate_node_ids_unique.py similarity index 100% rename from pype/plugins/maya/publish/validate_node_ids_unique.py rename to pype/hosts/maya/plugins/publish/validate_node_ids_unique.py diff --git a/pype/plugins/maya/publish/validate_node_no_ghosting.py b/pype/hosts/maya/plugins/publish/validate_node_no_ghosting.py similarity index 100% rename from pype/plugins/maya/publish/validate_node_no_ghosting.py rename to pype/hosts/maya/plugins/publish/validate_node_no_ghosting.py diff --git a/pype/plugins/maya/publish/validate_render_image_rule.py b/pype/hosts/maya/plugins/publish/validate_render_image_rule.py similarity index 100% rename from pype/plugins/maya/publish/validate_render_image_rule.py rename to pype/hosts/maya/plugins/publish/validate_render_image_rule.py diff --git a/pype/plugins/maya/publish/validate_render_no_default_cameras.py b/pype/hosts/maya/plugins/publish/validate_render_no_default_cameras.py similarity index 100% rename from pype/plugins/maya/publish/validate_render_no_default_cameras.py rename to pype/hosts/maya/plugins/publish/validate_render_no_default_cameras.py diff --git a/pype/plugins/maya/publish/validate_render_single_camera.py b/pype/hosts/maya/plugins/publish/validate_render_single_camera.py similarity index 100% rename from pype/plugins/maya/publish/validate_render_single_camera.py rename to pype/hosts/maya/plugins/publish/validate_render_single_camera.py diff --git a/pype/plugins/maya/publish/validate_renderlayer_aovs.py b/pype/hosts/maya/plugins/publish/validate_renderlayer_aovs.py similarity index 100% rename from pype/plugins/maya/publish/validate_renderlayer_aovs.py rename to pype/hosts/maya/plugins/publish/validate_renderlayer_aovs.py diff --git a/pype/plugins/maya/publish/validate_rendersettings.py b/pype/hosts/maya/plugins/publish/validate_rendersettings.py similarity index 100% rename from pype/plugins/maya/publish/validate_rendersettings.py rename to pype/hosts/maya/plugins/publish/validate_rendersettings.py diff --git a/pype/plugins/maya/publish/validate_resources.py b/pype/hosts/maya/plugins/publish/validate_resources.py similarity index 100% rename from pype/plugins/maya/publish/validate_resources.py rename to pype/hosts/maya/plugins/publish/validate_resources.py diff --git a/pype/plugins/maya/publish/validate_rig_contents.py b/pype/hosts/maya/plugins/publish/validate_rig_contents.py similarity index 100% rename from pype/plugins/maya/publish/validate_rig_contents.py rename to pype/hosts/maya/plugins/publish/validate_rig_contents.py diff --git a/pype/plugins/maya/publish/validate_rig_controllers.py b/pype/hosts/maya/plugins/publish/validate_rig_controllers.py similarity index 100% rename from pype/plugins/maya/publish/validate_rig_controllers.py rename to pype/hosts/maya/plugins/publish/validate_rig_controllers.py diff --git a/pype/plugins/maya/publish/validate_rig_controllers_arnold_attributes.py b/pype/hosts/maya/plugins/publish/validate_rig_controllers_arnold_attributes.py similarity index 100% rename from pype/plugins/maya/publish/validate_rig_controllers_arnold_attributes.py rename to pype/hosts/maya/plugins/publish/validate_rig_controllers_arnold_attributes.py diff --git a/pype/plugins/maya/publish/validate_rig_out_set_node_ids.py b/pype/hosts/maya/plugins/publish/validate_rig_out_set_node_ids.py similarity index 100% rename from pype/plugins/maya/publish/validate_rig_out_set_node_ids.py rename to pype/hosts/maya/plugins/publish/validate_rig_out_set_node_ids.py diff --git a/pype/plugins/maya/publish/validate_rig_output_ids.py b/pype/hosts/maya/plugins/publish/validate_rig_output_ids.py similarity index 100% rename from pype/plugins/maya/publish/validate_rig_output_ids.py rename to pype/hosts/maya/plugins/publish/validate_rig_output_ids.py diff --git a/pype/plugins/maya/publish/validate_scene_set_workspace.py b/pype/hosts/maya/plugins/publish/validate_scene_set_workspace.py similarity index 100% rename from pype/plugins/maya/publish/validate_scene_set_workspace.py rename to pype/hosts/maya/plugins/publish/validate_scene_set_workspace.py diff --git a/pype/plugins/maya/publish/validate_shader_name.py b/pype/hosts/maya/plugins/publish/validate_shader_name.py similarity index 100% rename from pype/plugins/maya/publish/validate_shader_name.py rename to pype/hosts/maya/plugins/publish/validate_shader_name.py diff --git a/pype/plugins/maya/publish/validate_shape_default_names.py b/pype/hosts/maya/plugins/publish/validate_shape_default_names.py similarity index 100% rename from pype/plugins/maya/publish/validate_shape_default_names.py rename to pype/hosts/maya/plugins/publish/validate_shape_default_names.py diff --git a/pype/plugins/maya/publish/validate_shape_render_stats.py b/pype/hosts/maya/plugins/publish/validate_shape_render_stats.py similarity index 100% rename from pype/plugins/maya/publish/validate_shape_render_stats.py rename to pype/hosts/maya/plugins/publish/validate_shape_render_stats.py diff --git a/pype/plugins/maya/publish/validate_single_assembly.py b/pype/hosts/maya/plugins/publish/validate_single_assembly.py similarity index 100% rename from pype/plugins/maya/publish/validate_single_assembly.py rename to pype/hosts/maya/plugins/publish/validate_single_assembly.py diff --git a/pype/plugins/maya/publish/validate_skinCluster_deformer_set.py b/pype/hosts/maya/plugins/publish/validate_skinCluster_deformer_set.py similarity index 100% rename from pype/plugins/maya/publish/validate_skinCluster_deformer_set.py rename to pype/hosts/maya/plugins/publish/validate_skinCluster_deformer_set.py diff --git a/pype/plugins/maya/publish/validate_step_size.py b/pype/hosts/maya/plugins/publish/validate_step_size.py similarity index 100% rename from pype/plugins/maya/publish/validate_step_size.py rename to pype/hosts/maya/plugins/publish/validate_step_size.py diff --git a/pype/plugins/maya/publish/validate_transform_naming_suffix.py b/pype/hosts/maya/plugins/publish/validate_transform_naming_suffix.py similarity index 100% rename from pype/plugins/maya/publish/validate_transform_naming_suffix.py rename to pype/hosts/maya/plugins/publish/validate_transform_naming_suffix.py diff --git a/pype/plugins/maya/publish/validate_transform_zero.py b/pype/hosts/maya/plugins/publish/validate_transform_zero.py similarity index 100% rename from pype/plugins/maya/publish/validate_transform_zero.py rename to pype/hosts/maya/plugins/publish/validate_transform_zero.py diff --git a/pype/plugins/maya/publish/validate_unicode_strings.py b/pype/hosts/maya/plugins/publish/validate_unicode_strings.py similarity index 100% rename from pype/plugins/maya/publish/validate_unicode_strings.py rename to pype/hosts/maya/plugins/publish/validate_unicode_strings.py diff --git a/pype/plugins/maya/publish/validate_unreal_mesh_triangulated.py b/pype/hosts/maya/plugins/publish/validate_unreal_mesh_triangulated.py similarity index 100% rename from pype/plugins/maya/publish/validate_unreal_mesh_triangulated.py rename to pype/hosts/maya/plugins/publish/validate_unreal_mesh_triangulated.py diff --git a/pype/plugins/maya/publish/validate_unreal_staticmesh_naming.py b/pype/hosts/maya/plugins/publish/validate_unreal_staticmesh_naming.py similarity index 100% rename from pype/plugins/maya/publish/validate_unreal_staticmesh_naming.py rename to pype/hosts/maya/plugins/publish/validate_unreal_staticmesh_naming.py diff --git a/pype/plugins/maya/publish/validate_unreal_up_axis.py b/pype/hosts/maya/plugins/publish/validate_unreal_up_axis.py similarity index 100% rename from pype/plugins/maya/publish/validate_unreal_up_axis.py rename to pype/hosts/maya/plugins/publish/validate_unreal_up_axis.py diff --git a/pype/plugins/maya/publish/validate_vray_distributed_rendering.py b/pype/hosts/maya/plugins/publish/validate_vray_distributed_rendering.py similarity index 100% rename from pype/plugins/maya/publish/validate_vray_distributed_rendering.py rename to pype/hosts/maya/plugins/publish/validate_vray_distributed_rendering.py diff --git a/pype/plugins/maya/publish/validate_vray_referenced_aovs.py b/pype/hosts/maya/plugins/publish/validate_vray_referenced_aovs.py similarity index 100% rename from pype/plugins/maya/publish/validate_vray_referenced_aovs.py rename to pype/hosts/maya/plugins/publish/validate_vray_referenced_aovs.py diff --git a/pype/plugins/maya/publish/validate_vray_translator_settings.py b/pype/hosts/maya/plugins/publish/validate_vray_translator_settings.py similarity index 100% rename from pype/plugins/maya/publish/validate_vray_translator_settings.py rename to pype/hosts/maya/plugins/publish/validate_vray_translator_settings.py diff --git a/pype/plugins/maya/publish/validate_vrayproxy.py b/pype/hosts/maya/plugins/publish/validate_vrayproxy.py similarity index 100% rename from pype/plugins/maya/publish/validate_vrayproxy.py rename to pype/hosts/maya/plugins/publish/validate_vrayproxy.py diff --git a/pype/plugins/maya/publish/validate_vrayproxy_members.py b/pype/hosts/maya/plugins/publish/validate_vrayproxy_members.py similarity index 100% rename from pype/plugins/maya/publish/validate_vrayproxy_members.py rename to pype/hosts/maya/plugins/publish/validate_vrayproxy_members.py diff --git a/pype/plugins/maya/publish/validate_yeti_renderscript_callbacks.py b/pype/hosts/maya/plugins/publish/validate_yeti_renderscript_callbacks.py similarity index 100% rename from pype/plugins/maya/publish/validate_yeti_renderscript_callbacks.py rename to pype/hosts/maya/plugins/publish/validate_yeti_renderscript_callbacks.py diff --git a/pype/plugins/maya/publish/validate_yeti_rig_cache_state.py b/pype/hosts/maya/plugins/publish/validate_yeti_rig_cache_state.py similarity index 100% rename from pype/plugins/maya/publish/validate_yeti_rig_cache_state.py rename to pype/hosts/maya/plugins/publish/validate_yeti_rig_cache_state.py diff --git a/pype/plugins/maya/publish/validate_yeti_rig_input_in_instance.py b/pype/hosts/maya/plugins/publish/validate_yeti_rig_input_in_instance.py similarity index 100% rename from pype/plugins/maya/publish/validate_yeti_rig_input_in_instance.py rename to pype/hosts/maya/plugins/publish/validate_yeti_rig_input_in_instance.py diff --git a/pype/plugins/maya/publish/validate_yeti_rig_settings.py b/pype/hosts/maya/plugins/publish/validate_yeti_rig_settings.py similarity index 100% rename from pype/plugins/maya/publish/validate_yeti_rig_settings.py rename to pype/hosts/maya/plugins/publish/validate_yeti_rig_settings.py diff --git a/pype/resources/maya/workspace.mel b/pype/hosts/maya/resources/workspace.mel similarity index 100% rename from pype/resources/maya/workspace.mel rename to pype/hosts/maya/resources/workspace.mel diff --git a/pype/setup/maya/userSetup.py b/pype/hosts/maya/startup/userSetup.py similarity index 100% rename from pype/setup/maya/userSetup.py rename to pype/hosts/maya/startup/userSetup.py From f2aef2298296580f5f70a5d83ff2e702ee59b153 Mon Sep 17 00:00:00 2001 From: Milan Kolar Date: Thu, 28 Jan 2021 10:53:32 +0100 Subject: [PATCH 08/26] change maya init imports --- pype/hosts/maya/api/__init__.py | 40 +++++++++++++++++---------------- 1 file changed, 21 insertions(+), 19 deletions(-) diff --git a/pype/hosts/maya/api/__init__.py b/pype/hosts/maya/api/__init__.py index 06b3e2c63c..35d8d92d26 100644 --- a/pype/hosts/maya/api/__init__.py +++ b/pype/hosts/maya/api/__init__.py @@ -4,22 +4,24 @@ import weakref from maya import utils, cmds -from avalon import api as avalon, pipeline, maya -from avalon.maya.pipeline import IS_HEADLESS +from avalon import api as avalon +from avalon import pipeline +from avalon.maya import suspended_refresh +from avalon.maya.pipeline import IS_HEADLESS, _on_task_changed from avalon.tools import workfiles from pyblish import api as pyblish - -from ...lib import any_outdated -from pype import PLUGINS_DIR - -from . import menu -from . import lib +from pype.lib import any_outdated +import pype.hosts.maya +from . import menu, lib log = logging.getLogger("pype.hosts.maya") -PUBLISH_PATH = os.path.join(PLUGINS_DIR, "maya", "publish") -LOAD_PATH = os.path.join(PLUGINS_DIR, "maya", "load") -CREATE_PATH = os.path.join(PLUGINS_DIR, "maya", "create") +HOST_DIR = os.path.dirname(os.path.abspath(pype.hosts.maya.__file__)) +PLUGINS_DIR = os.path.join(HOST_DIR, "plugins") +PUBLISH_PATH = os.path.join(PLUGINS_DIR, "publish") +LOAD_PATH = os.path.join(PLUGINS_DIR, "load") +CREATE_PATH = os.path.join(PLUGINS_DIR, "create") +INVENTORY_PATH = os.path.join(PLUGINS_DIR, "inventory") def install(): @@ -35,7 +37,7 @@ def install(): # Callbacks below are not required for headless mode, the `init` however # is important to load referenced Alembics correctly at rendertime. if IS_HEADLESS: - log.info("Running in headless mode, skipping Colorbleed Maya " + log.info("Running in headless mode, skipping Maya " "save/open/new callback installation..") return @@ -118,16 +120,16 @@ def on_init(_): safe_deferred(override_toolbox_ui) -def launch_workfiles_app(*args): +def launch_workfiles_app(): workfiles.show(os.environ["AVALON_WORKDIR"]) -def on_before_save(return_code, _): +def on_before_save(return_code): """Run validation for scene's FPS prior to saving""" return lib.validate_fps() -def on_save(_): +def on_save(): """Automatically add IDs to new nodes Any transform of a mesh, without an existing ID, is given one @@ -145,7 +147,7 @@ def on_save(_): lib.set_id(node, new_id, overwrite=False) -def on_open(_): +def on_open(): """On scene open let's assume the containers have changed.""" from avalon.vendor.Qt import QtWidgets @@ -194,7 +196,7 @@ def on_open(_): def on_new(_): """Set project resolution and fps when create a new file""" avalon.logger.info("Running callback on new..") - with maya.suspended_refresh(): + with suspended_refresh(): cmds.evalDeferred( "from pype.hosts.maya import lib;lib.remove_render_layer_observer()") cmds.evalDeferred( @@ -207,8 +209,8 @@ def on_new(_): def on_task_changed(*args): """Wrapped function of app initialize and maya's on task changed""" # Run - maya.pipeline._on_task_changed() - with maya.suspended_refresh(): + _on_task_changed() + with suspended_refresh(): lib.set_context_settings() lib.update_content_on_context_change() From afb56dbd9a48456a5006ad13bb63b1de57d0fd36 Mon Sep 17 00:00:00 2001 From: Milan Kolar Date: Thu, 28 Jan 2021 10:54:07 +0100 Subject: [PATCH 09/26] change host.maya api imports --- pype/hosts/maya/__init__.py | 0 pype/hosts/maya/api/action.py | 2 +- pype/hosts/maya/api/expected_files.py | 2 +- pype/hosts/maya/api/lib.py | 6 ++---- pype/hosts/maya/api/menu.py | 2 +- pype/hosts/maya/api/setdress.py | 2 +- 6 files changed, 6 insertions(+), 8 deletions(-) create mode 100644 pype/hosts/maya/__init__.py diff --git a/pype/hosts/maya/__init__.py b/pype/hosts/maya/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/pype/hosts/maya/api/action.py b/pype/hosts/maya/api/action.py index bb6815ed7d..35a57a4445 100644 --- a/pype/hosts/maya/api/action.py +++ b/pype/hosts/maya/api/action.py @@ -4,7 +4,7 @@ from __future__ import absolute_import import pyblish.api -from ...action import get_errored_instances_from_context +from pype.api import get_errored_instances_from_context class GenerateUUIDsOnInvalidAction(pyblish.api.Action): diff --git a/pype/hosts/maya/api/expected_files.py b/pype/hosts/maya/api/expected_files.py index d39e5fa204..0a234baef7 100644 --- a/pype/hosts/maya/api/expected_files.py +++ b/pype/hosts/maya/api/expected_files.py @@ -44,7 +44,7 @@ from abc import ABCMeta, abstractmethod import six -import pype.hosts.maya.lib as lib +import pype.hosts.maya.api.lib as lib from maya import cmds import maya.app.renderSetup.model.renderSetup as renderSetup diff --git a/pype/hosts/maya/api/lib.py b/pype/hosts/maya/api/lib.py index 37e4ccf915..3a820af814 100644 --- a/pype/hosts/maya/api/lib.py +++ b/pype/hosts/maya/api/lib.py @@ -114,9 +114,7 @@ def matrix_equals(a, b, tolerance=1e-10): bool : True or False """ - if not all(abs(x - y) < tolerance for x, y in zip(a, b)): - return False - return True + return all(abs(x - y) < tolerance for x, y in zip(a, b)) def float_round(num, places=0, direction=ceil): @@ -1084,7 +1082,7 @@ def get_id_required_nodes(referenced_nodes=False, nodes=None): # Check if plugin nodes are available for Maya by checking if the plugin # is loaded - if cmds.pluginInfo("pgYetiMaya", query=True, loaded=True): + if cmds.pluginInfo("pgYetiMaya", query=True, loaded=True): types.append("pgYetiMaya") # We *always* ignore intermediate shapes, so we filter them out directly diff --git a/pype/hosts/maya/api/menu.py b/pype/hosts/maya/api/menu.py index fa7690bca7..9381043511 100644 --- a/pype/hosts/maya/api/menu.py +++ b/pype/hosts/maya/api/menu.py @@ -4,7 +4,7 @@ import logging from avalon.vendor.Qt import QtWidgets, QtGui from avalon.maya import pipeline -from ...lib import BuildWorkfile +from pype.api import BuildWorkfile import maya.cmds as cmds self = sys.modules[__name__] diff --git a/pype/hosts/maya/api/setdress.py b/pype/hosts/maya/api/setdress.py index 7c764a42df..2c4dd93b18 100644 --- a/pype/hosts/maya/api/setdress.py +++ b/pype/hosts/maya/api/setdress.py @@ -9,7 +9,7 @@ from maya import cmds from avalon import api, io from avalon.maya.lib import unique_namespace -from pype.hosts.maya.lib import matrix_equals +from pype.hosts.maya.api.lib import matrix_equals log = logging.getLogger("PackageLoader") From 3e22810217197e02439e53e8a0e816e9b8786839 Mon Sep 17 00:00:00 2001 From: Milan Kolar Date: Thu, 28 Jan 2021 10:54:26 +0100 Subject: [PATCH 10/26] change maya plugin imports --- pype/hosts/maya/plugins/create/create_animation.py | 2 +- pype/hosts/maya/plugins/create/create_ass.py | 2 +- pype/hosts/maya/plugins/create/create_camera.py | 2 +- pype/hosts/maya/plugins/create/create_look.py | 2 +- pype/hosts/maya/plugins/create/create_pointcache.py | 2 +- pype/hosts/maya/plugins/create/create_render.py | 2 +- pype/hosts/maya/plugins/create/create_rendersetup.py | 2 +- pype/hosts/maya/plugins/create/create_review.py | 2 +- pype/hosts/maya/plugins/create/create_rig.py | 2 +- pype/hosts/maya/plugins/create/create_yeti_cache.py | 2 +- pype/hosts/maya/plugins/create/create_yeti_rig.py | 2 +- pype/hosts/maya/plugins/load/_load_animation.py | 4 ++-- pype/hosts/maya/plugins/load/load_ass.py | 4 ++-- pype/hosts/maya/plugins/load/load_gpucache.py | 2 +- pype/hosts/maya/plugins/load/load_look.py | 12 ++++++------ pype/hosts/maya/plugins/load/load_reference.py | 4 ++-- pype/hosts/maya/plugins/load/load_rendersetup.py | 4 ++-- pype/hosts/maya/plugins/load/load_vrayproxy.py | 2 +- pype/hosts/maya/plugins/load/load_yeti_cache.py | 2 +- pype/hosts/maya/plugins/load/load_yeti_rig.py | 6 +++--- pype/hosts/maya/plugins/publish/collect_assembly.py | 2 +- pype/hosts/maya/plugins/publish/collect_look.py | 2 +- pype/hosts/maya/plugins/publish/collect_render.py | 4 ++-- .../plugins/publish/collect_render_layer_aovs.py | 2 +- .../plugins/publish/collect_renderable_camera.py | 2 +- .../hosts/maya/plugins/publish/collect_yeti_cache.py | 2 +- pype/hosts/maya/plugins/publish/collect_yeti_rig.py | 2 +- pype/hosts/maya/plugins/publish/extract_animation.py | 2 +- pype/hosts/maya/plugins/publish/extract_assembly.py | 2 +- pype/hosts/maya/plugins/publish/extract_assproxy.py | 2 +- .../maya/plugins/publish/extract_camera_alembic.py | 2 +- .../maya/plugins/publish/extract_camera_mayaScene.py | 2 +- pype/hosts/maya/plugins/publish/extract_look.py | 2 +- pype/hosts/maya/plugins/publish/extract_model.py | 2 +- pype/hosts/maya/plugins/publish/extract_playblast.py | 2 +- .../hosts/maya/plugins/publish/extract_pointcache.py | 2 +- pype/hosts/maya/plugins/publish/extract_thumbnail.py | 2 +- pype/hosts/maya/plugins/publish/extract_yeti_rig.py | 2 +- .../hosts/maya/plugins/publish/submit_maya_muster.py | 2 +- .../plugins/publish/validate_animation_content.py | 4 ++-- .../validate_animation_out_set_related_node_ids.py | 6 +++--- .../plugins/publish/validate_ass_relative_paths.py | 2 +- .../maya/plugins/publish/validate_assembly_name.py | 4 ++-- .../plugins/publish/validate_assembly_namespaces.py | 4 ++-- .../plugins/publish/validate_assembly_transforms.py | 8 ++++---- .../plugins/publish/validate_camera_attributes.py | 4 ++-- .../maya/plugins/publish/validate_camera_contents.py | 4 ++-- .../maya/plugins/publish/validate_color_sets.py | 4 ++-- .../plugins/publish/validate_instance_has_members.py | 4 ++-- .../plugins/publish/validate_instancer_content.py | 2 +- .../maya/plugins/publish/validate_joints_hidden.py | 6 +++--- .../maya/plugins/publish/validate_look_contents.py | 4 ++-- .../publish/validate_look_id_reference_edits.py | 4 ++-- .../plugins/publish/validate_look_members_unique.py | 6 +++--- .../publish/validate_look_no_default_shaders.py | 4 ++-- .../hosts/maya/plugins/publish/validate_look_sets.py | 6 +++--- .../plugins/publish/validate_look_shading_group.py | 4 ++-- .../plugins/publish/validate_look_single_shader.py | 4 ++-- .../maya/plugins/publish/validate_maya_units.py | 2 +- .../publish/validate_mesh_arnold_attributes.py | 4 ++-- .../maya/plugins/publish/validate_mesh_has_uv.py | 4 ++-- .../plugins/publish/validate_mesh_lamina_faces.py | 4 ++-- .../publish/validate_mesh_no_negative_scale.py | 4 ++-- .../plugins/publish/validate_mesh_non_manifold.py | 4 ++-- .../plugins/publish/validate_mesh_non_zero_edge.py | 6 +++--- .../publish/validate_mesh_normals_unlocked.py | 4 ++-- .../plugins/publish/validate_mesh_overlapping_uvs.py | 4 ++-- .../publish/validate_mesh_shader_connections.py | 4 ++-- .../plugins/publish/validate_mesh_single_uv_set.py | 6 +++--- .../plugins/publish/validate_mesh_uv_set_map1.py | 4 ++-- .../publish/validate_mesh_vertices_have_edges.py | 4 ++-- .../maya/plugins/publish/validate_model_content.py | 6 +++--- .../maya/plugins/publish/validate_model_name.py | 4 ++-- .../plugins/publish/validate_muster_connection.py | 2 +- .../maya/plugins/publish/validate_no_animation.py | 4 ++-- .../plugins/publish/validate_no_default_camera.py | 4 ++-- .../maya/plugins/publish/validate_no_namespace.py | 4 ++-- .../plugins/publish/validate_no_null_transforms.py | 4 ++-- .../plugins/publish/validate_no_unknown_nodes.py | 4 ++-- pype/hosts/maya/plugins/publish/validate_node_ids.py | 8 ++++---- .../publish/validate_node_ids_deformed_shapes.py | 6 +++--- .../plugins/publish/validate_node_ids_in_database.py | 8 ++++---- .../plugins/publish/validate_node_ids_related.py | 8 ++++---- .../maya/plugins/publish/validate_node_ids_unique.py | 8 ++++---- .../plugins/publish/validate_node_no_ghosting.py | 4 ++-- .../publish/validate_render_no_default_cameras.py | 4 ++-- .../plugins/publish/validate_render_single_camera.py | 4 ++-- .../plugins/publish/validate_renderlayer_aovs.py | 4 ++-- .../maya/plugins/publish/validate_rendersettings.py | 2 +- .../maya/plugins/publish/validate_rig_controllers.py | 6 +++--- .../validate_rig_controllers_arnold_attributes.py | 6 +++--- .../plugins/publish/validate_rig_out_set_node_ids.py | 6 +++--- .../maya/plugins/publish/validate_rig_output_ids.py | 6 +++--- .../maya/plugins/publish/validate_shader_name.py | 4 ++-- .../plugins/publish/validate_shape_default_names.py | 4 ++-- .../plugins/publish/validate_shape_render_stats.py | 4 ++-- .../publish/validate_skinCluster_deformer_set.py | 4 ++-- .../hosts/maya/plugins/publish/validate_step_size.py | 4 ++-- .../publish/validate_transform_naming_suffix.py | 4 ++-- .../maya/plugins/publish/validate_transform_zero.py | 4 ++-- .../maya/plugins/publish/validate_unicode_strings.py | 2 +- .../publish/validate_unreal_mesh_triangulated.py | 2 +- .../publish/validate_unreal_staticmesh_naming.py | 4 ++-- .../publish/validate_vray_distributed_rendering.py | 2 +- .../plugins/publish/validate_vray_referenced_aovs.py | 2 +- .../plugins/publish/validate_vrayproxy_members.py | 4 ++-- .../plugins/publish/validate_yeti_rig_cache_state.py | 4 ++-- .../publish/validate_yeti_rig_input_in_instance.py | 4 ++-- 108 files changed, 202 insertions(+), 202 deletions(-) diff --git a/pype/hosts/maya/plugins/create/create_animation.py b/pype/hosts/maya/plugins/create/create_animation.py index 7bafce774c..6894fffb5d 100644 --- a/pype/hosts/maya/plugins/create/create_animation.py +++ b/pype/hosts/maya/plugins/create/create_animation.py @@ -1,5 +1,5 @@ import avalon.maya -from pype.hosts.maya import lib +from pype.hosts.maya.api import lib class CreateAnimation(avalon.maya.Creator): diff --git a/pype/hosts/maya/plugins/create/create_ass.py b/pype/hosts/maya/plugins/create/create_ass.py index 7fd66e8e15..b7d5f27114 100644 --- a/pype/hosts/maya/plugins/create/create_ass.py +++ b/pype/hosts/maya/plugins/create/create_ass.py @@ -1,7 +1,7 @@ from collections import OrderedDict import avalon.maya -from pype.hosts.maya import lib +from pype.hosts.maya.api import lib from maya import cmds diff --git a/pype/hosts/maya/plugins/create/create_camera.py b/pype/hosts/maya/plugins/create/create_camera.py index acff93c03c..cb438e68ba 100644 --- a/pype/hosts/maya/plugins/create/create_camera.py +++ b/pype/hosts/maya/plugins/create/create_camera.py @@ -1,5 +1,5 @@ import avalon.maya -from pype.hosts.maya import lib +from pype.hosts.maya.api import lib class CreateCamera(avalon.maya.Creator): diff --git a/pype/hosts/maya/plugins/create/create_look.py b/pype/hosts/maya/plugins/create/create_look.py index 5ea64cc7e4..2d8576a8b4 100644 --- a/pype/hosts/maya/plugins/create/create_look.py +++ b/pype/hosts/maya/plugins/create/create_look.py @@ -1,5 +1,5 @@ import avalon.maya -from pype.hosts.maya import lib +from pype.hosts.maya.api import lib class CreateLook(avalon.maya.Creator): diff --git a/pype/hosts/maya/plugins/create/create_pointcache.py b/pype/hosts/maya/plugins/create/create_pointcache.py index 1eb561b5ce..271257c85e 100644 --- a/pype/hosts/maya/plugins/create/create_pointcache.py +++ b/pype/hosts/maya/plugins/create/create_pointcache.py @@ -1,5 +1,5 @@ import avalon.maya -from pype.hosts.maya import lib +from pype.hosts.maya.api import lib class CreatePointCache(avalon.maya.Creator): diff --git a/pype/hosts/maya/plugins/create/create_render.py b/pype/hosts/maya/plugins/create/create_render.py index 2b0b0e19f7..0763b19c17 100644 --- a/pype/hosts/maya/plugins/create/create_render.py +++ b/pype/hosts/maya/plugins/create/create_render.py @@ -8,7 +8,7 @@ import requests from maya import cmds import maya.app.renderSetup.model.renderSetup as renderSetup -from pype.hosts.maya import lib +from pype.hosts.maya.api import lib from pype.api import get_system_settings import avalon.maya diff --git a/pype/hosts/maya/plugins/create/create_rendersetup.py b/pype/hosts/maya/plugins/create/create_rendersetup.py index 40e3731bf0..bbf46e2169 100644 --- a/pype/hosts/maya/plugins/create/create_rendersetup.py +++ b/pype/hosts/maya/plugins/create/create_rendersetup.py @@ -1,5 +1,5 @@ import avalon.maya -from pype.hosts.maya import lib +from pype.hosts.maya.api import lib from maya import cmds diff --git a/pype/hosts/maya/plugins/create/create_review.py b/pype/hosts/maya/plugins/create/create_review.py index bfeab33f5b..8619f90964 100644 --- a/pype/hosts/maya/plugins/create/create_review.py +++ b/pype/hosts/maya/plugins/create/create_review.py @@ -1,6 +1,6 @@ from collections import OrderedDict import avalon.maya -from pype.hosts.maya import lib +from pype.hosts.maya.api import lib class CreateReview(avalon.maya.Creator): diff --git a/pype/hosts/maya/plugins/create/create_rig.py b/pype/hosts/maya/plugins/create/create_rig.py index ae1de4243e..4692997934 100644 --- a/pype/hosts/maya/plugins/create/create_rig.py +++ b/pype/hosts/maya/plugins/create/create_rig.py @@ -1,6 +1,6 @@ from maya import cmds -from pype.hosts.maya import lib +from pype.hosts.maya.api import lib import avalon.maya diff --git a/pype/hosts/maya/plugins/create/create_yeti_cache.py b/pype/hosts/maya/plugins/create/create_yeti_cache.py index a4b5cc537a..c9edb65d8b 100644 --- a/pype/hosts/maya/plugins/create/create_yeti_cache.py +++ b/pype/hosts/maya/plugins/create/create_yeti_cache.py @@ -1,7 +1,7 @@ from collections import OrderedDict import avalon.maya -from pype.hosts.maya import lib +from pype.hosts.maya.api import lib class CreateYetiCache(avalon.maya.Creator): diff --git a/pype/hosts/maya/plugins/create/create_yeti_rig.py b/pype/hosts/maya/plugins/create/create_yeti_rig.py index 0b954f500d..c385ca662d 100644 --- a/pype/hosts/maya/plugins/create/create_yeti_rig.py +++ b/pype/hosts/maya/plugins/create/create_yeti_rig.py @@ -1,6 +1,6 @@ from maya import cmds -from pype.hosts.maya import lib +from pype.hosts.maya.api import lib import avalon.maya diff --git a/pype/hosts/maya/plugins/load/_load_animation.py b/pype/hosts/maya/plugins/load/_load_animation.py index 597689ae21..bef97d79bb 100644 --- a/pype/hosts/maya/plugins/load/_load_animation.py +++ b/pype/hosts/maya/plugins/load/_load_animation.py @@ -1,7 +1,7 @@ -import pype.hosts.maya.plugin +import pype.hosts.maya.api.plugin -class AbcLoader(pype.hosts.maya.plugin.ReferenceLoader): +class AbcLoader(pype.hosts.maya.api.plugin.ReferenceLoader): """Specific loader of Alembic for the avalon.animation family""" families = ["animation", diff --git a/pype/hosts/maya/plugins/load/load_ass.py b/pype/hosts/maya/plugins/load/load_ass.py index 9b851a3757..8aaa99369c 100644 --- a/pype/hosts/maya/plugins/load/load_ass.py +++ b/pype/hosts/maya/plugins/load/load_ass.py @@ -1,11 +1,11 @@ from avalon import api -import pype.hosts.maya.plugin +import pype.hosts.maya.api.plugin import os from pype.api import get_project_settings import clique -class AssProxyLoader(pype.hosts.maya.plugin.ReferenceLoader): +class AssProxyLoader(pype.hosts.maya.api.plugin.ReferenceLoader): """Load the Proxy""" families = ["ass"] diff --git a/pype/hosts/maya/plugins/load/load_gpucache.py b/pype/hosts/maya/plugins/load/load_gpucache.py index 0b3daae710..a183a46cd3 100644 --- a/pype/hosts/maya/plugins/load/load_gpucache.py +++ b/pype/hosts/maya/plugins/load/load_gpucache.py @@ -1,5 +1,5 @@ from avalon import api -import pype.hosts.maya.plugin +import pype.hosts.maya.api.plugin import os from pype.api import get_project_settings reload(config) diff --git a/pype/hosts/maya/plugins/load/load_look.py b/pype/hosts/maya/plugins/load/load_look.py index c5b58c9bd5..ab8f971d62 100644 --- a/pype/hosts/maya/plugins/load/load_look.py +++ b/pype/hosts/maya/plugins/load/load_look.py @@ -1,13 +1,13 @@ -import pype.hosts.maya.plugin +import pype.hosts.maya.api.plugin from avalon import api, io import json -import pype.hosts.maya.lib +import pype.hosts.maya.api.lib from collections import defaultdict from pype.widgets.message_window import ScrollMessageBox from Qt import QtWidgets -class LookLoader(pype.hosts.maya.plugin.ReferenceLoader): +class LookLoader(pype.hosts.maya.api.plugin.ReferenceLoader): """Specific loader for lookdev""" families = ["look"] @@ -120,7 +120,7 @@ class LookLoader(pype.hosts.maya.plugin.ReferenceLoader): cmds.file(cr=reference_node) # cleanReference # reapply shading groups from json representation on orig nodes - pype.hosts.maya.lib.apply_shaders(relationships, + pype.hosts.maya.api.lib.apply_shaders(relationships, shader_nodes, orig_nodes) @@ -138,8 +138,8 @@ class LookLoader(pype.hosts.maya.plugin.ReferenceLoader): # region compute lookup nodes_by_id = defaultdict(list) for n in nodes: - nodes_by_id[pype.hosts.maya.lib.get_id(n)].append(n) - pype.hosts.maya.lib.apply_attributes(attributes, nodes_by_id) + nodes_by_id[pype.hosts.maya.api.lib.get_id(n)].append(n) + pype.hosts.maya.api.lib.apply_attributes(attributes, nodes_by_id) # Update metadata cmds.setAttr("{}.representation".format(node), diff --git a/pype/hosts/maya/plugins/load/load_reference.py b/pype/hosts/maya/plugins/load/load_reference.py index 23b3cedb55..d37579423c 100644 --- a/pype/hosts/maya/plugins/load/load_reference.py +++ b/pype/hosts/maya/plugins/load/load_reference.py @@ -1,11 +1,11 @@ -import pype.hosts.maya.plugin +import pype.hosts.maya.api.plugin from avalon import api, maya from maya import cmds import os from pype.api import get_project_settings -class ReferenceLoader(pype.hosts.maya.plugin.ReferenceLoader): +class ReferenceLoader(pype.hosts.maya.api.plugin.ReferenceLoader): """Load the model""" families = ["model", diff --git a/pype/hosts/maya/plugins/load/load_rendersetup.py b/pype/hosts/maya/plugins/load/load_rendersetup.py index 45a314a9d1..c540c3880e 100644 --- a/pype/hosts/maya/plugins/load/load_rendersetup.py +++ b/pype/hosts/maya/plugins/load/load_rendersetup.py @@ -12,7 +12,7 @@ import sys from avalon import api from avalon.maya import lib -from pype.hosts.maya import lib as pypelib +from pype.hosts.maya.api import lib as pypelib from maya import cmds import maya.app.renderSetup.model.renderSetup as renderSetup @@ -32,7 +32,7 @@ class RenderSetupLoader(api.Loader): def load(self, context, name, namespace, data): """Load RenderSetup settings.""" from avalon.maya.pipeline import containerise - # from pype.hosts.maya.lib import namespaced + # from pype.hosts.maya.api.lib import namespaced asset = context['asset']['name'] namespace = namespace or lib.unique_namespace( diff --git a/pype/hosts/maya/plugins/load/load_vrayproxy.py b/pype/hosts/maya/plugins/load/load_vrayproxy.py index 73f02b81e4..270d0f9baa 100644 --- a/pype/hosts/maya/plugins/load/load_vrayproxy.py +++ b/pype/hosts/maya/plugins/load/load_vrayproxy.py @@ -19,7 +19,7 @@ class VRayProxyLoader(api.Loader): def load(self, context, name, namespace, data): from avalon.maya.pipeline import containerise - from pype.hosts.maya.lib import namespaced + from pype.hosts.maya.api.lib import namespaced try: family = context["representation"]["context"]["family"] diff --git a/pype/hosts/maya/plugins/load/load_yeti_cache.py b/pype/hosts/maya/plugins/load/load_yeti_cache.py index 19cf3920fe..16d51ad56d 100644 --- a/pype/hosts/maya/plugins/load/load_yeti_cache.py +++ b/pype/hosts/maya/plugins/load/load_yeti_cache.py @@ -8,7 +8,7 @@ from maya import cmds from avalon import api, io from avalon.maya import lib as avalon_lib, pipeline -from pype.hosts.maya import lib +from pype.hosts.maya.api import lib from pype.api import get_project_settings from pprint import pprint diff --git a/pype/hosts/maya/plugins/load/load_yeti_rig.py b/pype/hosts/maya/plugins/load/load_yeti_rig.py index 3a9339c707..d025ed13cc 100644 --- a/pype/hosts/maya/plugins/load/load_yeti_rig.py +++ b/pype/hosts/maya/plugins/load/load_yeti_rig.py @@ -2,11 +2,11 @@ import os from collections import defaultdict from pype.api import get_project_settings -import pype.hosts.maya.plugin -from pype.hosts.maya import lib +import pype.hosts.maya.api.plugin +from pype.hosts.maya.api import lib -class YetiRigLoader(pype.hosts.maya.plugin.ReferenceLoader): +class YetiRigLoader(pype.hosts.maya.api.plugin.ReferenceLoader): """ This loader will load Yeti rig. You can select something in scene and if it has same ID as mesh published with rig, their shapes will be linked diff --git a/pype/hosts/maya/plugins/publish/collect_assembly.py b/pype/hosts/maya/plugins/publish/collect_assembly.py index f9a933d8e8..be3408a0bd 100644 --- a/pype/hosts/maya/plugins/publish/collect_assembly.py +++ b/pype/hosts/maya/plugins/publish/collect_assembly.py @@ -3,7 +3,7 @@ import pyblish.api from maya import cmds, mel from avalon import maya as avalon -from pype.hosts.maya import lib +from pype.hosts.maya.api import lib # TODO : Publish of assembly: -unique namespace for all assets, VALIDATOR! diff --git a/pype/hosts/maya/plugins/publish/collect_look.py b/pype/hosts/maya/plugins/publish/collect_look.py index 7df85e4ba7..35abc5a991 100644 --- a/pype/hosts/maya/plugins/publish/collect_look.py +++ b/pype/hosts/maya/plugins/publish/collect_look.py @@ -4,7 +4,7 @@ import glob from maya import cmds import pyblish.api -from pype.hosts.maya import lib +from pype.hosts.maya.api import lib SHAPE_ATTRS = ["castsShadows", "receiveShadows", diff --git a/pype/hosts/maya/plugins/publish/collect_render.py b/pype/hosts/maya/plugins/publish/collect_render.py index 0853473120..208937320d 100644 --- a/pype/hosts/maya/plugins/publish/collect_render.py +++ b/pype/hosts/maya/plugins/publish/collect_render.py @@ -49,8 +49,8 @@ import maya.app.renderSetup.model.renderSetup as renderSetup import pyblish.api from avalon import maya, api -from pype.hosts.maya.expected_files import ExpectedFiles -from pype.hosts.maya import lib +from pype.hosts.maya.api.expected_files import ExpectedFiles +from pype.hosts.maya.api import lib class CollectMayaRender(pyblish.api.ContextPlugin): diff --git a/pype/hosts/maya/plugins/publish/collect_render_layer_aovs.py b/pype/hosts/maya/plugins/publish/collect_render_layer_aovs.py index ff44497d6d..d776b43907 100644 --- a/pype/hosts/maya/plugins/publish/collect_render_layer_aovs.py +++ b/pype/hosts/maya/plugins/publish/collect_render_layer_aovs.py @@ -2,7 +2,7 @@ from maya import cmds import pyblish.api -from pype.hosts.maya import lib +from pype.hosts.maya.api import lib class CollectRenderLayerAOVS(pyblish.api.InstancePlugin): diff --git a/pype/hosts/maya/plugins/publish/collect_renderable_camera.py b/pype/hosts/maya/plugins/publish/collect_renderable_camera.py index a7d613517b..893a2cab61 100644 --- a/pype/hosts/maya/plugins/publish/collect_renderable_camera.py +++ b/pype/hosts/maya/plugins/publish/collect_renderable_camera.py @@ -2,7 +2,7 @@ import pyblish.api from maya import cmds -from pype.hosts.maya import lib +from pype.hosts.maya.api import lib class CollectRenderableCamera(pyblish.api.InstancePlugin): diff --git a/pype/hosts/maya/plugins/publish/collect_yeti_cache.py b/pype/hosts/maya/plugins/publish/collect_yeti_cache.py index 26c3f601f6..2cfc56e486 100644 --- a/pype/hosts/maya/plugins/publish/collect_yeti_cache.py +++ b/pype/hosts/maya/plugins/publish/collect_yeti_cache.py @@ -2,7 +2,7 @@ from maya import cmds import pyblish.api -from pype.hosts.maya import lib +from pype.hosts.maya.api import lib SETTINGS = {"renderDensity", "renderWidth", diff --git a/pype/hosts/maya/plugins/publish/collect_yeti_rig.py b/pype/hosts/maya/plugins/publish/collect_yeti_rig.py index 73a84b0073..15bcdc51dd 100644 --- a/pype/hosts/maya/plugins/publish/collect_yeti_rig.py +++ b/pype/hosts/maya/plugins/publish/collect_yeti_rig.py @@ -5,7 +5,7 @@ from maya import cmds import pyblish.api -from pype.hosts.maya import lib +from pype.hosts.maya.api import lib SETTINGS = {"renderDensity", diff --git a/pype/hosts/maya/plugins/publish/extract_animation.py b/pype/hosts/maya/plugins/publish/extract_animation.py index f7058b34f1..f56ba2f400 100644 --- a/pype/hosts/maya/plugins/publish/extract_animation.py +++ b/pype/hosts/maya/plugins/publish/extract_animation.py @@ -4,7 +4,7 @@ from maya import cmds import avalon.maya import pype.api -from pype.hosts.maya.lib import extract_alembic +from pype.hosts.maya.api.lib import extract_alembic class ExtractAnimation(pype.api.Extractor): diff --git a/pype/hosts/maya/plugins/publish/extract_assembly.py b/pype/hosts/maya/plugins/publish/extract_assembly.py index 8c5264713d..c72f1f1835 100644 --- a/pype/hosts/maya/plugins/publish/extract_assembly.py +++ b/pype/hosts/maya/plugins/publish/extract_assembly.py @@ -3,7 +3,7 @@ import json import os import pype.api -from pype.hosts.maya.lib import extract_alembic +from pype.hosts.maya.api.lib import extract_alembic from maya import cmds diff --git a/pype/hosts/maya/plugins/publish/extract_assproxy.py b/pype/hosts/maya/plugins/publish/extract_assproxy.py index 0f97d047c1..80cca1396b 100644 --- a/pype/hosts/maya/plugins/publish/extract_assproxy.py +++ b/pype/hosts/maya/plugins/publish/extract_assproxy.py @@ -5,7 +5,7 @@ import contextlib import avalon.maya import pype.api -from pype.hosts.maya import lib +from pype.hosts.maya.api import lib class ExtractAssProxy(pype.api.Extractor): diff --git a/pype/hosts/maya/plugins/publish/extract_camera_alembic.py b/pype/hosts/maya/plugins/publish/extract_camera_alembic.py index c0538338dc..c37f2ecb76 100644 --- a/pype/hosts/maya/plugins/publish/extract_camera_alembic.py +++ b/pype/hosts/maya/plugins/publish/extract_camera_alembic.py @@ -5,7 +5,7 @@ from maya import cmds import avalon.maya import pype.api -from pype.hosts.maya import lib +from pype.hosts.maya.api import lib class ExtractCameraAlembic(pype.api.Extractor): diff --git a/pype/hosts/maya/plugins/publish/extract_camera_mayaScene.py b/pype/hosts/maya/plugins/publish/extract_camera_mayaScene.py index a1854b1db0..16ebc39419 100644 --- a/pype/hosts/maya/plugins/publish/extract_camera_mayaScene.py +++ b/pype/hosts/maya/plugins/publish/extract_camera_mayaScene.py @@ -7,7 +7,7 @@ from maya import cmds import avalon.maya import pype.api -from pype.hosts.maya import lib +from pype.hosts.maya.api import lib def massage_ma_file(path): diff --git a/pype/hosts/maya/plugins/publish/extract_look.py b/pype/hosts/maya/plugins/publish/extract_look.py index 0a7e4fb2ee..2c4837b7a7 100644 --- a/pype/hosts/maya/plugins/publish/extract_look.py +++ b/pype/hosts/maya/plugins/publish/extract_look.py @@ -14,7 +14,7 @@ import avalon.maya from avalon import io, api import pype.api -from pype.hosts.maya import lib +from pype.hosts.maya.api import lib # Modes for transfer COPY = 1 diff --git a/pype/hosts/maya/plugins/publish/extract_model.py b/pype/hosts/maya/plugins/publish/extract_model.py index 8276d1a006..1c268a9e0e 100644 --- a/pype/hosts/maya/plugins/publish/extract_model.py +++ b/pype/hosts/maya/plugins/publish/extract_model.py @@ -6,7 +6,7 @@ from maya import cmds import avalon.maya import pype.api -from pype.hosts.maya import lib +from pype.hosts.maya.api import lib class ExtractModel(pype.api.Extractor): diff --git a/pype/hosts/maya/plugins/publish/extract_playblast.py b/pype/hosts/maya/plugins/publish/extract_playblast.py index 39b02a5a83..770b077e41 100644 --- a/pype/hosts/maya/plugins/publish/extract_playblast.py +++ b/pype/hosts/maya/plugins/publish/extract_playblast.py @@ -4,7 +4,7 @@ import contextlib import clique import capture -from pype.hosts.maya import lib +from pype.hosts.maya.api import lib import pype.api from maya import cmds diff --git a/pype/hosts/maya/plugins/publish/extract_pointcache.py b/pype/hosts/maya/plugins/publish/extract_pointcache.py index e43685cac8..58742c8567 100644 --- a/pype/hosts/maya/plugins/publish/extract_pointcache.py +++ b/pype/hosts/maya/plugins/publish/extract_pointcache.py @@ -4,7 +4,7 @@ from maya import cmds import avalon.maya import pype.api -from pype.hosts.maya.lib import extract_alembic +from pype.hosts.maya.api.lib import extract_alembic class ExtractAlembic(pype.api.Extractor): diff --git a/pype/hosts/maya/plugins/publish/extract_thumbnail.py b/pype/hosts/maya/plugins/publish/extract_thumbnail.py index 6956341ffd..49511f6af6 100644 --- a/pype/hosts/maya/plugins/publish/extract_thumbnail.py +++ b/pype/hosts/maya/plugins/publish/extract_thumbnail.py @@ -4,7 +4,7 @@ import glob import capture -from pype.hosts.maya import lib +from pype.hosts.maya.api import lib import pype.api from maya import cmds diff --git a/pype/hosts/maya/plugins/publish/extract_yeti_rig.py b/pype/hosts/maya/plugins/publish/extract_yeti_rig.py index 71d4cf6198..43908d8742 100644 --- a/pype/hosts/maya/plugins/publish/extract_yeti_rig.py +++ b/pype/hosts/maya/plugins/publish/extract_yeti_rig.py @@ -9,7 +9,7 @@ from maya import cmds import avalon.maya.lib as lib import pype.api -import pype.hosts.maya.lib as maya +import pype.hosts.maya.api.lib as maya @contextlib.contextmanager diff --git a/pype/hosts/maya/plugins/publish/submit_maya_muster.py b/pype/hosts/maya/plugins/publish/submit_maya_muster.py index b10c4ecbbb..e31f989224 100644 --- a/pype/hosts/maya/plugins/publish/submit_maya_muster.py +++ b/pype/hosts/maya/plugins/publish/submit_maya_muster.py @@ -10,7 +10,7 @@ from avalon import api from avalon.vendor import requests import pyblish.api -from pype.hosts.maya import lib +from pype.hosts.maya.api import lib from pype.api import get_system_settings diff --git a/pype/hosts/maya/plugins/publish/validate_animation_content.py b/pype/hosts/maya/plugins/publish/validate_animation_content.py index 63f1135fdc..ec6f33c969 100644 --- a/pype/hosts/maya/plugins/publish/validate_animation_content.py +++ b/pype/hosts/maya/plugins/publish/validate_animation_content.py @@ -1,6 +1,6 @@ import pyblish.api import pype.api -import pype.hosts.maya.action +import pype.hosts.maya.api.action class ValidateAnimationContent(pyblish.api.InstancePlugin): @@ -15,7 +15,7 @@ class ValidateAnimationContent(pyblish.api.InstancePlugin): hosts = ["maya"] families = ["animation"] label = "Animation Content" - actions = [pype.hosts.maya.action.SelectInvalidAction] + actions = [pype.hosts.maya.api.action.SelectInvalidAction] @classmethod def get_invalid(cls, instance): diff --git a/pype/hosts/maya/plugins/publish/validate_animation_out_set_related_node_ids.py b/pype/hosts/maya/plugins/publish/validate_animation_out_set_related_node_ids.py index 4fe676404c..ffafd14bcd 100644 --- a/pype/hosts/maya/plugins/publish/validate_animation_out_set_related_node_ids.py +++ b/pype/hosts/maya/plugins/publish/validate_animation_out_set_related_node_ids.py @@ -2,8 +2,8 @@ import maya.cmds as cmds import pyblish.api import pype.api -import pype.hosts.maya.action -from pype.hosts.maya import lib +import pype.hosts.maya.api.action +from pype.hosts.maya.api import lib class ValidateOutRelatedNodeIds(pyblish.api.InstancePlugin): @@ -20,7 +20,7 @@ class ValidateOutRelatedNodeIds(pyblish.api.InstancePlugin): families = ['animation', "pointcache"] hosts = ['maya'] label = 'Animation Out Set Related Node Ids' - actions = [pype.hosts.maya.action.SelectInvalidAction, pype.api.RepairAction] + actions = [pype.hosts.maya.api.action.SelectInvalidAction, pype.api.RepairAction] def process(self, instance): """Process all meshes""" diff --git a/pype/hosts/maya/plugins/publish/validate_ass_relative_paths.py b/pype/hosts/maya/plugins/publish/validate_ass_relative_paths.py index 22ebf52d49..b77a0c1923 100644 --- a/pype/hosts/maya/plugins/publish/validate_ass_relative_paths.py +++ b/pype/hosts/maya/plugins/publish/validate_ass_relative_paths.py @@ -5,7 +5,7 @@ import maya.cmds as cmds import pyblish.api import pype.api -import pype.hosts.maya.action +import pype.hosts.maya.api.action class ValidateAssRelativePaths(pyblish.api.InstancePlugin): diff --git a/pype/hosts/maya/plugins/publish/validate_assembly_name.py b/pype/hosts/maya/plugins/publish/validate_assembly_name.py index 934275ca47..54479035c5 100644 --- a/pype/hosts/maya/plugins/publish/validate_assembly_name.py +++ b/pype/hosts/maya/plugins/publish/validate_assembly_name.py @@ -1,6 +1,6 @@ import pyblish.api import maya.cmds as cmds -import pype.hosts.maya.action +import pype.hosts.maya.api.action class ValidateAssemblyName(pyblish.api.InstancePlugin): @@ -12,7 +12,7 @@ class ValidateAssemblyName(pyblish.api.InstancePlugin): label = "Validate Assembly Name" order = pyblish.api.ValidatorOrder families = ["assembly"] - actions = [pype.hosts.maya.action.SelectInvalidAction] + actions = [pype.hosts.maya.api.action.SelectInvalidAction] active = False @classmethod diff --git a/pype/hosts/maya/plugins/publish/validate_assembly_namespaces.py b/pype/hosts/maya/plugins/publish/validate_assembly_namespaces.py index 50fda1a758..32f4b8db52 100644 --- a/pype/hosts/maya/plugins/publish/validate_assembly_namespaces.py +++ b/pype/hosts/maya/plugins/publish/validate_assembly_namespaces.py @@ -1,6 +1,6 @@ import pyblish.api import pype.api -import pype.hosts.maya.action +import pype.hosts.maya.api.action class ValidateAssemblyNamespaces(pyblish.api.InstancePlugin): @@ -18,7 +18,7 @@ class ValidateAssemblyNamespaces(pyblish.api.InstancePlugin): label = "Validate Assembly Namespaces" order = pyblish.api.ValidatorOrder families = ["assembly"] - actions = [pype.hosts.maya.action.SelectInvalidAction] + actions = [pype.hosts.maya.api.action.SelectInvalidAction] def process(self, instance): diff --git a/pype/hosts/maya/plugins/publish/validate_assembly_transforms.py b/pype/hosts/maya/plugins/publish/validate_assembly_transforms.py index c033f5374a..146736ba8d 100644 --- a/pype/hosts/maya/plugins/publish/validate_assembly_transforms.py +++ b/pype/hosts/maya/plugins/publish/validate_assembly_transforms.py @@ -3,7 +3,7 @@ import pype.api from maya import cmds -import pype.hosts.maya.action +import pype.hosts.maya.api.action class ValidateAssemblyModelTransforms(pyblish.api.InstancePlugin): @@ -28,7 +28,7 @@ class ValidateAssemblyModelTransforms(pyblish.api.InstancePlugin): order = pyblish.api.ValidatorOrder + 0.49 label = "Assembly Model Transforms" families = ["assembly"] - actions = [pype.hosts.maya.action.SelectInvalidAction, + actions = [pype.hosts.maya.api.action.SelectInvalidAction, pype.api.RepairAction] prompt_message = ("You are about to reset the matrix to the default values." @@ -44,7 +44,7 @@ class ValidateAssemblyModelTransforms(pyblish.api.InstancePlugin): @classmethod def get_invalid(cls, instance): - from pype.hosts.maya import lib + from pype.hosts.maya.api import lib # Get all transforms in the loaded containers container_roots = cmds.listRelatives(instance.data["hierarchy"], @@ -89,7 +89,7 @@ class ValidateAssemblyModelTransforms(pyblish.api.InstancePlugin): """ - from pype.hosts.maya import lib + from pype.hosts.maya.api import lib from avalon.vendor.Qt import QtWidgets # Store namespace in variable, cosmetics thingy diff --git a/pype/hosts/maya/plugins/publish/validate_camera_attributes.py b/pype/hosts/maya/plugins/publish/validate_camera_attributes.py index 1a1005d0f7..797244ba84 100644 --- a/pype/hosts/maya/plugins/publish/validate_camera_attributes.py +++ b/pype/hosts/maya/plugins/publish/validate_camera_attributes.py @@ -2,7 +2,7 @@ from maya import cmds import pyblish.api import pype.api -import pype.hosts.maya.action +import pype.hosts.maya.api.action class ValidateCameraAttributes(pyblish.api.InstancePlugin): @@ -18,7 +18,7 @@ class ValidateCameraAttributes(pyblish.api.InstancePlugin): families = ['camera'] hosts = ['maya'] label = 'Camera Attributes' - actions = [pype.hosts.maya.action.SelectInvalidAction] + actions = [pype.hosts.maya.api.action.SelectInvalidAction] DEFAULTS = [ ("filmFitOffset", 0.0), diff --git a/pype/hosts/maya/plugins/publish/validate_camera_contents.py b/pype/hosts/maya/plugins/publish/validate_camera_contents.py index 27e2031e87..644cfd16bf 100644 --- a/pype/hosts/maya/plugins/publish/validate_camera_contents.py +++ b/pype/hosts/maya/plugins/publish/validate_camera_contents.py @@ -2,7 +2,7 @@ from maya import cmds import pyblish.api import pype.api -import pype.hosts.maya.action +import pype.hosts.maya.api.action class ValidateCameraContents(pyblish.api.InstancePlugin): @@ -19,7 +19,7 @@ class ValidateCameraContents(pyblish.api.InstancePlugin): families = ['camera'] hosts = ['maya'] label = 'Camera Contents' - actions = [pype.hosts.maya.action.SelectInvalidAction] + actions = [pype.hosts.maya.api.action.SelectInvalidAction] @classmethod def get_invalid(cls, instance): diff --git a/pype/hosts/maya/plugins/publish/validate_color_sets.py b/pype/hosts/maya/plugins/publish/validate_color_sets.py index b1d8847f77..aa5901ee0a 100644 --- a/pype/hosts/maya/plugins/publish/validate_color_sets.py +++ b/pype/hosts/maya/plugins/publish/validate_color_sets.py @@ -2,7 +2,7 @@ from maya import cmds import pyblish.api import pype.api -import pype.hosts.maya.action +import pype.hosts.maya.api.action class ValidateColorSets(pyblish.api.Validator): @@ -18,7 +18,7 @@ class ValidateColorSets(pyblish.api.Validator): families = ['model'] category = 'geometry' label = 'Mesh ColorSets' - actions = [pype.hosts.maya.action.SelectInvalidAction, + actions = [pype.hosts.maya.api.action.SelectInvalidAction, pype.api.RepairAction] optional = True diff --git a/pype/hosts/maya/plugins/publish/validate_instance_has_members.py b/pype/hosts/maya/plugins/publish/validate_instance_has_members.py index 04e7e1c5eb..b28a056198 100644 --- a/pype/hosts/maya/plugins/publish/validate_instance_has_members.py +++ b/pype/hosts/maya/plugins/publish/validate_instance_has_members.py @@ -1,6 +1,6 @@ import pyblish.api import pype.api -import pype.hosts.maya.action +import pype.hosts.maya.api.action class ValidateInstanceHasMembers(pyblish.api.InstancePlugin): @@ -9,7 +9,7 @@ class ValidateInstanceHasMembers(pyblish.api.InstancePlugin): order = pype.api.ValidateContentsOrder hosts = ["maya"] label = 'Instance has members' - actions = [pype.hosts.maya.action.SelectInvalidAction] + actions = [pype.hosts.maya.api.action.SelectInvalidAction] @classmethod def get_invalid(cls, instance): diff --git a/pype/hosts/maya/plugins/publish/validate_instancer_content.py b/pype/hosts/maya/plugins/publish/validate_instancer_content.py index a398aead02..74ed73ef53 100644 --- a/pype/hosts/maya/plugins/publish/validate_instancer_content.py +++ b/pype/hosts/maya/plugins/publish/validate_instancer_content.py @@ -1,7 +1,7 @@ import maya.cmds as cmds import pyblish.api -from pype.hosts.maya import lib +from pype.hosts.maya.api import lib class ValidateInstancerContent(pyblish.api.InstancePlugin): diff --git a/pype/hosts/maya/plugins/publish/validate_joints_hidden.py b/pype/hosts/maya/plugins/publish/validate_joints_hidden.py index 80ca29bfbf..61dfcd563d 100644 --- a/pype/hosts/maya/plugins/publish/validate_joints_hidden.py +++ b/pype/hosts/maya/plugins/publish/validate_joints_hidden.py @@ -2,8 +2,8 @@ from maya import cmds import pyblish.api import pype.api -import pype.hosts.maya.action -from pype.hosts.maya import lib +import pype.hosts.maya.api.action +from pype.hosts.maya.api import lib class ValidateJointsHidden(pyblish.api.InstancePlugin): @@ -23,7 +23,7 @@ class ValidateJointsHidden(pyblish.api.InstancePlugin): category = 'rig' version = (0, 1, 0) label = "Joints Hidden" - actions = [pype.hosts.maya.action.SelectInvalidAction, + actions = [pype.hosts.maya.api.action.SelectInvalidAction, pype.api.RepairAction] @staticmethod diff --git a/pype/hosts/maya/plugins/publish/validate_look_contents.py b/pype/hosts/maya/plugins/publish/validate_look_contents.py index 577c88a7e3..8893fdfae8 100644 --- a/pype/hosts/maya/plugins/publish/validate_look_contents.py +++ b/pype/hosts/maya/plugins/publish/validate_look_contents.py @@ -1,6 +1,6 @@ import pyblish.api import pype.api -import pype.hosts.maya.action +import pype.hosts.maya.api.action class ValidateLookContents(pyblish.api.InstancePlugin): @@ -21,7 +21,7 @@ class ValidateLookContents(pyblish.api.InstancePlugin): families = ['look'] hosts = ['maya'] label = 'Look Data Contents' - actions = [pype.hosts.maya.action.SelectInvalidAction] + actions = [pype.hosts.maya.api.action.SelectInvalidAction] def process(self, instance): """Process all the nodes in the instance""" diff --git a/pype/hosts/maya/plugins/publish/validate_look_id_reference_edits.py b/pype/hosts/maya/plugins/publish/validate_look_id_reference_edits.py index de44a3b31a..8cf5493d20 100644 --- a/pype/hosts/maya/plugins/publish/validate_look_id_reference_edits.py +++ b/pype/hosts/maya/plugins/publish/validate_look_id_reference_edits.py @@ -3,7 +3,7 @@ from maya import cmds import pyblish.api import pype.api -import pype.hosts.maya.action +import pype.hosts.maya.api.action class ValidateLookIdReferenceEdits(pyblish.api.InstancePlugin): @@ -20,7 +20,7 @@ class ValidateLookIdReferenceEdits(pyblish.api.InstancePlugin): families = ['look'] hosts = ['maya'] label = 'Look Id Reference Edits' - actions = [pype.hosts.maya.action.SelectInvalidAction, + actions = [pype.hosts.maya.api.action.SelectInvalidAction, pype.api.RepairAction] def process(self, instance): diff --git a/pype/hosts/maya/plugins/publish/validate_look_members_unique.py b/pype/hosts/maya/plugins/publish/validate_look_members_unique.py index 8b6dd60e70..0b0b50715a 100644 --- a/pype/hosts/maya/plugins/publish/validate_look_members_unique.py +++ b/pype/hosts/maya/plugins/publish/validate_look_members_unique.py @@ -2,7 +2,7 @@ from collections import defaultdict import pyblish.api import pype.api -import pype.hosts.maya.action +import pype.hosts.maya.api.action class ValidateUniqueRelationshipMembers(pyblish.api.InstancePlugin): @@ -25,8 +25,8 @@ class ValidateUniqueRelationshipMembers(pyblish.api.InstancePlugin): hosts = ['maya'] families = ['look'] - actions = [pype.hosts.maya.action.SelectInvalidAction, - pype.hosts.maya.action.GenerateUUIDsOnInvalidAction] + actions = [pype.hosts.maya.api.action.SelectInvalidAction, + pype.hosts.maya.api.action.GenerateUUIDsOnInvalidAction] def process(self, instance): """Process all meshes""" diff --git a/pype/hosts/maya/plugins/publish/validate_look_no_default_shaders.py b/pype/hosts/maya/plugins/publish/validate_look_no_default_shaders.py index 87859d390f..0d6a1ca562 100644 --- a/pype/hosts/maya/plugins/publish/validate_look_no_default_shaders.py +++ b/pype/hosts/maya/plugins/publish/validate_look_no_default_shaders.py @@ -2,7 +2,7 @@ from maya import cmds import pyblish.api import pype.api -import pype.hosts.maya.action +import pype.hosts.maya.api.action class ValidateLookNoDefaultShaders(pyblish.api.InstancePlugin): @@ -27,7 +27,7 @@ class ValidateLookNoDefaultShaders(pyblish.api.InstancePlugin): families = ['look'] hosts = ['maya'] label = 'Look No Default Shaders' - actions = [pype.hosts.maya.action.SelectInvalidAction] + actions = [pype.hosts.maya.api.action.SelectInvalidAction] DEFAULT_SHADERS = {"lambert1", "initialShadingGroup", "initialParticleSE", "particleCloud1"} diff --git a/pype/hosts/maya/plugins/publish/validate_look_sets.py b/pype/hosts/maya/plugins/publish/validate_look_sets.py index 4e06b564ed..d044d8ad2e 100644 --- a/pype/hosts/maya/plugins/publish/validate_look_sets.py +++ b/pype/hosts/maya/plugins/publish/validate_look_sets.py @@ -1,5 +1,5 @@ -import pype.hosts.maya.action -from pype.hosts.maya import lib +import pype.hosts.maya.api.action +from pype.hosts.maya.api import lib import pyblish.api import pype.api @@ -42,7 +42,7 @@ class ValidateLookSets(pyblish.api.InstancePlugin): families = ['look'] hosts = ['maya'] label = 'Look Sets' - actions = [pype.hosts.maya.action.SelectInvalidAction] + actions = [pype.hosts.maya.api.action.SelectInvalidAction] def process(self, instance): """Process all the nodes in the instance""" diff --git a/pype/hosts/maya/plugins/publish/validate_look_shading_group.py b/pype/hosts/maya/plugins/publish/validate_look_shading_group.py index e8911e3f2f..8d4e3ccf70 100644 --- a/pype/hosts/maya/plugins/publish/validate_look_shading_group.py +++ b/pype/hosts/maya/plugins/publish/validate_look_shading_group.py @@ -2,7 +2,7 @@ from maya import cmds import pyblish.api import pype.api -import pype.hosts.maya.action +import pype.hosts.maya.api.action class ValidateShadingEngine(pyblish.api.InstancePlugin): @@ -16,7 +16,7 @@ class ValidateShadingEngine(pyblish.api.InstancePlugin): hosts = ["maya"] label = "Look Shading Engine Naming" actions = [ - pype.hosts.maya.action.SelectInvalidAction, pype.api.RepairAction + pype.hosts.maya.api.action.SelectInvalidAction, pype.api.RepairAction ] # The default connections to check diff --git a/pype/hosts/maya/plugins/publish/validate_look_single_shader.py b/pype/hosts/maya/plugins/publish/validate_look_single_shader.py index 600652d16d..8c4835c5bf 100644 --- a/pype/hosts/maya/plugins/publish/validate_look_single_shader.py +++ b/pype/hosts/maya/plugins/publish/validate_look_single_shader.py @@ -2,7 +2,7 @@ from maya import cmds import pyblish.api import pype.api -import pype.hosts.maya.action +import pype.hosts.maya.api.action class ValidateSingleShader(pyblish.api.InstancePlugin): @@ -16,7 +16,7 @@ class ValidateSingleShader(pyblish.api.InstancePlugin): families = ['look'] hosts = ['maya'] label = 'Look Single Shader Per Shape' - actions = [pype.hosts.maya.action.SelectInvalidAction] + actions = [pype.hosts.maya.api.action.SelectInvalidAction] # The default connections to check def process(self, instance): diff --git a/pype/hosts/maya/plugins/publish/validate_maya_units.py b/pype/hosts/maya/plugins/publish/validate_maya_units.py index 8712a90f44..c99b8eb813 100644 --- a/pype/hosts/maya/plugins/publish/validate_maya_units.py +++ b/pype/hosts/maya/plugins/publish/validate_maya_units.py @@ -3,7 +3,7 @@ import maya.cmds as cmds import pyblish.api import pype.api from pype import lib -import pype.hosts.maya.lib as mayalib +import pype.hosts.maya.api.lib as mayalib from math import ceil diff --git a/pype/hosts/maya/plugins/publish/validate_mesh_arnold_attributes.py b/pype/hosts/maya/plugins/publish/validate_mesh_arnold_attributes.py index 04a3cf3c79..a2792693af 100644 --- a/pype/hosts/maya/plugins/publish/validate_mesh_arnold_attributes.py +++ b/pype/hosts/maya/plugins/publish/validate_mesh_arnold_attributes.py @@ -2,7 +2,7 @@ import pymel.core as pc from maya import cmds import pyblish.api import pype.api -import pype.hosts.maya.action +import pype.hosts.maya.api.action from avalon import maya @@ -19,7 +19,7 @@ class ValidateMeshArnoldAttributes(pyblish.api.InstancePlugin): category = "geometry" label = "Mesh Arnold Attributes" actions = [ - pype.hosts.maya.action.SelectInvalidAction, + pype.hosts.maya.api.action.SelectInvalidAction, pype.api.RepairAction ] optional = True diff --git a/pype/hosts/maya/plugins/publish/validate_mesh_has_uv.py b/pype/hosts/maya/plugins/publish/validate_mesh_has_uv.py index f7b9b8503d..ae80b6a8f2 100644 --- a/pype/hosts/maya/plugins/publish/validate_mesh_has_uv.py +++ b/pype/hosts/maya/plugins/publish/validate_mesh_has_uv.py @@ -4,7 +4,7 @@ from maya import cmds import pyblish.api import pype.api -import pype.hosts.maya.action +import pype.hosts.maya.api.action def len_flattened(components): @@ -50,7 +50,7 @@ class ValidateMeshHasUVs(pyblish.api.InstancePlugin): families = ['model'] category = 'geometry' label = 'Mesh Has UVs' - actions = [pype.hosts.maya.action.SelectInvalidAction] + actions = [pype.hosts.maya.api.action.SelectInvalidAction] optional = True @classmethod diff --git a/pype/hosts/maya/plugins/publish/validate_mesh_lamina_faces.py b/pype/hosts/maya/plugins/publish/validate_mesh_lamina_faces.py index 5ebb41b6f9..5628008a38 100644 --- a/pype/hosts/maya/plugins/publish/validate_mesh_lamina_faces.py +++ b/pype/hosts/maya/plugins/publish/validate_mesh_lamina_faces.py @@ -2,7 +2,7 @@ from maya import cmds import pyblish.api import pype.api -import pype.hosts.maya.action +import pype.hosts.maya.api.action class ValidateMeshLaminaFaces(pyblish.api.InstancePlugin): @@ -18,7 +18,7 @@ class ValidateMeshLaminaFaces(pyblish.api.InstancePlugin): category = 'geometry' version = (0, 1, 0) label = 'Mesh Lamina Faces' - actions = [pype.hosts.maya.action.SelectInvalidAction] + actions = [pype.hosts.maya.api.action.SelectInvalidAction] @staticmethod def get_invalid(instance): diff --git a/pype/hosts/maya/plugins/publish/validate_mesh_no_negative_scale.py b/pype/hosts/maya/plugins/publish/validate_mesh_no_negative_scale.py index 988c94e4ef..8446808459 100644 --- a/pype/hosts/maya/plugins/publish/validate_mesh_no_negative_scale.py +++ b/pype/hosts/maya/plugins/publish/validate_mesh_no_negative_scale.py @@ -2,7 +2,7 @@ from maya import cmds import pyblish.api import pype.api -import pype.hosts.maya.action +import pype.hosts.maya.api.action class ValidateMeshNoNegativeScale(pyblish.api.Validator): @@ -21,7 +21,7 @@ class ValidateMeshNoNegativeScale(pyblish.api.Validator): hosts = ['maya'] families = ['model'] label = 'Mesh No Negative Scale' - actions = [pype.hosts.maya.action.SelectInvalidAction] + actions = [pype.hosts.maya.api.action.SelectInvalidAction] @staticmethod def get_invalid(instance): diff --git a/pype/hosts/maya/plugins/publish/validate_mesh_non_manifold.py b/pype/hosts/maya/plugins/publish/validate_mesh_non_manifold.py index 7559e9e17b..4a2773671d 100644 --- a/pype/hosts/maya/plugins/publish/validate_mesh_non_manifold.py +++ b/pype/hosts/maya/plugins/publish/validate_mesh_non_manifold.py @@ -2,7 +2,7 @@ from maya import cmds import pyblish.api import pype.api -import pype.hosts.maya.action +import pype.hosts.maya.api.action class ValidateMeshNonManifold(pyblish.api.Validator): @@ -17,7 +17,7 @@ class ValidateMeshNonManifold(pyblish.api.Validator): hosts = ['maya'] families = ['model'] label = 'Mesh Non-Manifold Vertices/Edges' - actions = [pype.hosts.maya.action.SelectInvalidAction] + actions = [pype.hosts.maya.api.action.SelectInvalidAction] @staticmethod def get_invalid(instance): diff --git a/pype/hosts/maya/plugins/publish/validate_mesh_non_zero_edge.py b/pype/hosts/maya/plugins/publish/validate_mesh_non_zero_edge.py index 0d30312cad..0ed02328c8 100644 --- a/pype/hosts/maya/plugins/publish/validate_mesh_non_zero_edge.py +++ b/pype/hosts/maya/plugins/publish/validate_mesh_non_zero_edge.py @@ -2,8 +2,8 @@ from maya import cmds import pyblish.api import pype.api -import pype.hosts.maya.action -from pype.hosts.maya import lib +import pype.hosts.maya.api.action +from pype.hosts.maya.api import lib class ValidateMeshNonZeroEdgeLength(pyblish.api.InstancePlugin): @@ -22,7 +22,7 @@ class ValidateMeshNonZeroEdgeLength(pyblish.api.InstancePlugin): category = 'geometry' version = (0, 1, 0) label = 'Mesh Edge Length Non Zero' - actions = [pype.hosts.maya.action.SelectInvalidAction] + actions = [pype.hosts.maya.api.action.SelectInvalidAction] optional = True __tolerance = 1e-5 diff --git a/pype/hosts/maya/plugins/publish/validate_mesh_normals_unlocked.py b/pype/hosts/maya/plugins/publish/validate_mesh_normals_unlocked.py index a764611b5c..d9d740cf13 100644 --- a/pype/hosts/maya/plugins/publish/validate_mesh_normals_unlocked.py +++ b/pype/hosts/maya/plugins/publish/validate_mesh_normals_unlocked.py @@ -2,7 +2,7 @@ from maya import cmds import pyblish.api import pype.api -import pype.hosts.maya.action +import pype.hosts.maya.api.action class ValidateMeshNormalsUnlocked(pyblish.api.Validator): @@ -19,7 +19,7 @@ class ValidateMeshNormalsUnlocked(pyblish.api.Validator): category = 'geometry' version = (0, 1, 0) label = 'Mesh Normals Unlocked' - actions = [pype.hosts.maya.action.SelectInvalidAction, + actions = [pype.hosts.maya.api.action.SelectInvalidAction, pype.api.RepairAction] optional = True diff --git a/pype/hosts/maya/plugins/publish/validate_mesh_overlapping_uvs.py b/pype/hosts/maya/plugins/publish/validate_mesh_overlapping_uvs.py index c6479675d2..3619d27298 100644 --- a/pype/hosts/maya/plugins/publish/validate_mesh_overlapping_uvs.py +++ b/pype/hosts/maya/plugins/publish/validate_mesh_overlapping_uvs.py @@ -1,6 +1,6 @@ import pyblish.api import pype.api -import pype.hosts.maya.action +import pype.hosts.maya.api.action import math import maya.api.OpenMaya as om import pymel.core as pm @@ -235,7 +235,7 @@ class ValidateMeshHasOverlappingUVs(pyblish.api.InstancePlugin): families = ['model'] category = 'geometry' label = 'Mesh Has Overlapping UVs' - actions = [pype.hosts.maya.action.SelectInvalidAction] + actions = [pype.hosts.maya.api.action.SelectInvalidAction] optional = True @classmethod diff --git a/pype/hosts/maya/plugins/publish/validate_mesh_shader_connections.py b/pype/hosts/maya/plugins/publish/validate_mesh_shader_connections.py index a31df7c0ae..b9542fe930 100644 --- a/pype/hosts/maya/plugins/publish/validate_mesh_shader_connections.py +++ b/pype/hosts/maya/plugins/publish/validate_mesh_shader_connections.py @@ -2,7 +2,7 @@ from maya import cmds import pyblish.api import pype.api -import pype.hosts.maya.action +import pype.hosts.maya.api.action def pairs(iterable): @@ -77,7 +77,7 @@ class ValidateMeshShaderConnections(pyblish.api.InstancePlugin): hosts = ['maya'] families = ['model'] label = "Mesh Shader Connections" - actions = [pype.hosts.maya.action.SelectInvalidAction, + actions = [pype.hosts.maya.api.action.SelectInvalidAction, pype.api.RepairAction] def process(self, instance): diff --git a/pype/hosts/maya/plugins/publish/validate_mesh_single_uv_set.py b/pype/hosts/maya/plugins/publish/validate_mesh_single_uv_set.py index 87d83c070e..348bcb5fad 100644 --- a/pype/hosts/maya/plugins/publish/validate_mesh_single_uv_set.py +++ b/pype/hosts/maya/plugins/publish/validate_mesh_single_uv_set.py @@ -2,8 +2,8 @@ from maya import cmds import pyblish.api import pype.api -import pype.hosts.maya.action -from pype.hosts.maya import lib +import pype.hosts.maya.api.action +from pype.hosts.maya.api import lib class ValidateMeshSingleUVSet(pyblish.api.InstancePlugin): @@ -22,7 +22,7 @@ class ValidateMeshSingleUVSet(pyblish.api.InstancePlugin): optional = True version = (0, 1, 0) label = "Mesh Single UV Set" - actions = [pype.hosts.maya.action.SelectInvalidAction, + actions = [pype.hosts.maya.api.action.SelectInvalidAction, pype.api.RepairAction] @staticmethod diff --git a/pype/hosts/maya/plugins/publish/validate_mesh_uv_set_map1.py b/pype/hosts/maya/plugins/publish/validate_mesh_uv_set_map1.py index 8bf5c55f65..5f954ee917 100644 --- a/pype/hosts/maya/plugins/publish/validate_mesh_uv_set_map1.py +++ b/pype/hosts/maya/plugins/publish/validate_mesh_uv_set_map1.py @@ -2,7 +2,7 @@ from maya import cmds import pyblish.api import pype.api -import pype.hosts.maya.action +import pype.hosts.maya.api.action class ValidateMeshUVSetMap1(pyblish.api.InstancePlugin): @@ -20,7 +20,7 @@ class ValidateMeshUVSetMap1(pyblish.api.InstancePlugin): families = ['model'] optional = True label = "Mesh has map1 UV Set" - actions = [pype.hosts.maya.action.SelectInvalidAction, + actions = [pype.hosts.maya.api.action.SelectInvalidAction, pype.api.RepairAction] @staticmethod diff --git a/pype/hosts/maya/plugins/publish/validate_mesh_vertices_have_edges.py b/pype/hosts/maya/plugins/publish/validate_mesh_vertices_have_edges.py index 2dd65da7d2..8d39c5cae4 100644 --- a/pype/hosts/maya/plugins/publish/validate_mesh_vertices_have_edges.py +++ b/pype/hosts/maya/plugins/publish/validate_mesh_vertices_have_edges.py @@ -4,7 +4,7 @@ from maya import cmds import pyblish.api import pype.api -import pype.hosts.maya.action +import pype.hosts.maya.api.action def len_flattened(components): @@ -62,7 +62,7 @@ class ValidateMeshVerticesHaveEdges(pyblish.api.InstancePlugin): families = ['model'] category = 'geometry' label = 'Mesh Vertices Have Edges' - actions = [pype.hosts.maya.action.SelectInvalidAction, + actions = [pype.hosts.maya.api.action.SelectInvalidAction, pype.api.RepairAction] @classmethod diff --git a/pype/hosts/maya/plugins/publish/validate_model_content.py b/pype/hosts/maya/plugins/publish/validate_model_content.py index fd7c69ead7..9bec7187e9 100644 --- a/pype/hosts/maya/plugins/publish/validate_model_content.py +++ b/pype/hosts/maya/plugins/publish/validate_model_content.py @@ -2,8 +2,8 @@ from maya import cmds import pyblish.api import pype.api -import pype.hosts.maya.action -from pype.hosts.maya import lib +import pype.hosts.maya.api.action +from pype.hosts.maya.api import lib class ValidateModelContent(pyblish.api.InstancePlugin): @@ -18,7 +18,7 @@ class ValidateModelContent(pyblish.api.InstancePlugin): hosts = ["maya"] families = ["model"] label = "Model Content" - actions = [pype.hosts.maya.action.SelectInvalidAction] + actions = [pype.hosts.maya.api.action.SelectInvalidAction] @classmethod def get_invalid(cls, instance): diff --git a/pype/hosts/maya/plugins/publish/validate_model_name.py b/pype/hosts/maya/plugins/publish/validate_model_name.py index 716b7d5f98..f0004dc81e 100644 --- a/pype/hosts/maya/plugins/publish/validate_model_name.py +++ b/pype/hosts/maya/plugins/publish/validate_model_name.py @@ -1,7 +1,7 @@ from maya import cmds import pyblish.api import pype.api -import pype.hosts.maya.action +import pype.hosts.maya.api.action import re @@ -18,7 +18,7 @@ class ValidateModelName(pyblish.api.InstancePlugin): hosts = ["maya"] families = ["model"] label = "Model Name" - actions = [pype.hosts.maya.action.SelectInvalidAction] + actions = [pype.hosts.maya.api.action.SelectInvalidAction] # path to shader names definitions # TODO: move it to preset file material_file = None diff --git a/pype/hosts/maya/plugins/publish/validate_muster_connection.py b/pype/hosts/maya/plugins/publish/validate_muster_connection.py index 35acdb326f..ad1022c71d 100644 --- a/pype/hosts/maya/plugins/publish/validate_muster_connection.py +++ b/pype/hosts/maya/plugins/publish/validate_muster_connection.py @@ -5,7 +5,7 @@ import appdirs import pyblish.api from avalon.vendor import requests from pype.plugin import contextplugin_should_run -import pype.hosts.maya.action +import pype.hosts.maya.api.action class ValidateMusterConnection(pyblish.api.ContextPlugin): diff --git a/pype/hosts/maya/plugins/publish/validate_no_animation.py b/pype/hosts/maya/plugins/publish/validate_no_animation.py index fc198745c0..a6daf3246e 100644 --- a/pype/hosts/maya/plugins/publish/validate_no_animation.py +++ b/pype/hosts/maya/plugins/publish/validate_no_animation.py @@ -2,7 +2,7 @@ from maya import cmds import pyblish.api import pype.api -import pype.hosts.maya.action +import pype.hosts.maya.api.action class ValidateNoAnimation(pyblish.api.Validator): @@ -19,7 +19,7 @@ class ValidateNoAnimation(pyblish.api.Validator): hosts = ["maya"] families = ["model"] optional = True - actions = [pype.hosts.maya.action.SelectInvalidAction] + actions = [pype.hosts.maya.api.action.SelectInvalidAction] def process(self, instance): diff --git a/pype/hosts/maya/plugins/publish/validate_no_default_camera.py b/pype/hosts/maya/plugins/publish/validate_no_default_camera.py index 876612c076..07ec2e4325 100644 --- a/pype/hosts/maya/plugins/publish/validate_no_default_camera.py +++ b/pype/hosts/maya/plugins/publish/validate_no_default_camera.py @@ -2,7 +2,7 @@ from maya import cmds import pyblish.api import pype.api -import pype.hosts.maya.action +import pype.hosts.maya.api.action class ValidateNoDefaultCameras(pyblish.api.InstancePlugin): @@ -18,7 +18,7 @@ class ValidateNoDefaultCameras(pyblish.api.InstancePlugin): families = ['camera'] version = (0, 1, 0) label = "No Default Cameras" - actions = [pype.hosts.maya.action.SelectInvalidAction] + actions = [pype.hosts.maya.api.action.SelectInvalidAction] @staticmethod def get_invalid(instance): diff --git a/pype/hosts/maya/plugins/publish/validate_no_namespace.py b/pype/hosts/maya/plugins/publish/validate_no_namespace.py index 6a6c7792c5..97cd46e68a 100644 --- a/pype/hosts/maya/plugins/publish/validate_no_namespace.py +++ b/pype/hosts/maya/plugins/publish/validate_no_namespace.py @@ -3,7 +3,7 @@ import maya.cmds as cmds import pyblish.api import pype.api -import pype.hosts.maya.action +import pype.hosts.maya.api.action def get_namespace(node_name): @@ -22,7 +22,7 @@ class ValidateNoNamespace(pyblish.api.InstancePlugin): category = 'cleanup' version = (0, 1, 0) label = 'No Namespaces' - actions = [pype.hosts.maya.action.SelectInvalidAction, + actions = [pype.hosts.maya.api.action.SelectInvalidAction, pype.api.RepairAction] @staticmethod diff --git a/pype/hosts/maya/plugins/publish/validate_no_null_transforms.py b/pype/hosts/maya/plugins/publish/validate_no_null_transforms.py index aa35c47339..78f06bbbd8 100644 --- a/pype/hosts/maya/plugins/publish/validate_no_null_transforms.py +++ b/pype/hosts/maya/plugins/publish/validate_no_null_transforms.py @@ -2,7 +2,7 @@ import maya.cmds as cmds import pyblish.api import pype.api -import pype.hosts.maya.action +import pype.hosts.maya.api.action def has_shape_children(node): @@ -44,7 +44,7 @@ class ValidateNoNullTransforms(pyblish.api.InstancePlugin): version = (0, 1, 0) label = 'No Empty/Null Transforms' actions = [pype.api.RepairAction, - pype.hosts.maya.action.SelectInvalidAction] + pype.hosts.maya.api.action.SelectInvalidAction] @staticmethod def get_invalid(instance): diff --git a/pype/hosts/maya/plugins/publish/validate_no_unknown_nodes.py b/pype/hosts/maya/plugins/publish/validate_no_unknown_nodes.py index 04c8fd04bc..6b2f1337d3 100644 --- a/pype/hosts/maya/plugins/publish/validate_no_unknown_nodes.py +++ b/pype/hosts/maya/plugins/publish/validate_no_unknown_nodes.py @@ -2,7 +2,7 @@ from maya import cmds import pyblish.api import pype.api -import pype.hosts.maya.action +import pype.hosts.maya.api.action class ValidateNoUnknownNodes(pyblish.api.InstancePlugin): @@ -21,7 +21,7 @@ class ValidateNoUnknownNodes(pyblish.api.InstancePlugin): families = ['model', 'rig'] optional = True label = "Unknown Nodes" - actions = [pype.hosts.maya.action.SelectInvalidAction] + actions = [pype.hosts.maya.api.action.SelectInvalidAction] @staticmethod def get_invalid(instance): diff --git a/pype/hosts/maya/plugins/publish/validate_node_ids.py b/pype/hosts/maya/plugins/publish/validate_node_ids.py index 777d810c80..4942d44d70 100644 --- a/pype/hosts/maya/plugins/publish/validate_node_ids.py +++ b/pype/hosts/maya/plugins/publish/validate_node_ids.py @@ -1,8 +1,8 @@ import pyblish.api import pype.api -import pype.hosts.maya.action +import pype.hosts.maya.api.action -from pype.hosts.maya import lib +from pype.hosts.maya.api import lib class ValidateNodeIDs(pyblish.api.InstancePlugin): @@ -25,8 +25,8 @@ class ValidateNodeIDs(pyblish.api.InstancePlugin): "yetiRig", "assembly"] - actions = [pype.hosts.maya.action.SelectInvalidAction, - pype.hosts.maya.action.GenerateUUIDsOnInvalidAction] + actions = [pype.hosts.maya.api.action.SelectInvalidAction, + pype.hosts.maya.api.action.GenerateUUIDsOnInvalidAction] def process(self, instance): """Process all meshes""" diff --git a/pype/hosts/maya/plugins/publish/validate_node_ids_deformed_shapes.py b/pype/hosts/maya/plugins/publish/validate_node_ids_deformed_shapes.py index 49b78f79bc..4bf66a464f 100644 --- a/pype/hosts/maya/plugins/publish/validate_node_ids_deformed_shapes.py +++ b/pype/hosts/maya/plugins/publish/validate_node_ids_deformed_shapes.py @@ -2,8 +2,8 @@ from maya import cmds import pyblish.api import pype.api -import pype.hosts.maya.action -from pype.hosts.maya import lib +import pype.hosts.maya.api.action +from pype.hosts.maya.api import lib class ValidateNodeIdsDeformedShape(pyblish.api.InstancePlugin): @@ -20,7 +20,7 @@ class ValidateNodeIdsDeformedShape(pyblish.api.InstancePlugin): families = ['look'] hosts = ['maya'] label = 'Deformed shape ids' - actions = [pype.hosts.maya.action.SelectInvalidAction, pype.api.RepairAction] + actions = [pype.hosts.maya.api.action.SelectInvalidAction, pype.api.RepairAction] def process(self, instance): """Process all the nodes in the instance""" diff --git a/pype/hosts/maya/plugins/publish/validate_node_ids_in_database.py b/pype/hosts/maya/plugins/publish/validate_node_ids_in_database.py index 15241411b7..154d0c1d38 100644 --- a/pype/hosts/maya/plugins/publish/validate_node_ids_in_database.py +++ b/pype/hosts/maya/plugins/publish/validate_node_ids_in_database.py @@ -3,8 +3,8 @@ import pyblish.api from avalon import io import pype.api -import pype.hosts.maya.action -from pype.hosts.maya import lib +import pype.hosts.maya.api.action +from pype.hosts.maya.api import lib class ValidateNodeIdsInDatabase(pyblish.api.InstancePlugin): @@ -23,8 +23,8 @@ class ValidateNodeIdsInDatabase(pyblish.api.InstancePlugin): hosts = ['maya'] families = ["*"] - actions = [pype.hosts.maya.action.SelectInvalidAction, - pype.hosts.maya.action.GenerateUUIDsOnInvalidAction] + actions = [pype.hosts.maya.api.action.SelectInvalidAction, + pype.hosts.maya.api.action.GenerateUUIDsOnInvalidAction] def process(self, instance): invalid = self.get_invalid(instance) diff --git a/pype/hosts/maya/plugins/publish/validate_node_ids_related.py b/pype/hosts/maya/plugins/publish/validate_node_ids_related.py index 193e53440a..390e5c157a 100644 --- a/pype/hosts/maya/plugins/publish/validate_node_ids_related.py +++ b/pype/hosts/maya/plugins/publish/validate_node_ids_related.py @@ -2,9 +2,9 @@ import pyblish.api import pype.api from avalon import io -import pype.hosts.maya.action +import pype.hosts.maya.api.action -from pype.hosts.maya import lib +from pype.hosts.maya.api import lib class ValidateNodeIDsRelated(pyblish.api.InstancePlugin): @@ -20,8 +20,8 @@ class ValidateNodeIDsRelated(pyblish.api.InstancePlugin): "rig"] optional = True - actions = [pype.hosts.maya.action.SelectInvalidAction, - pype.hosts.maya.action.GenerateUUIDsOnInvalidAction] + actions = [pype.hosts.maya.api.action.SelectInvalidAction, + pype.hosts.maya.api.action.GenerateUUIDsOnInvalidAction] def process(self, instance): """Process all nodes in instance (including hierarchy)""" diff --git a/pype/hosts/maya/plugins/publish/validate_node_ids_unique.py b/pype/hosts/maya/plugins/publish/validate_node_ids_unique.py index 3a66941f89..20320854f0 100644 --- a/pype/hosts/maya/plugins/publish/validate_node_ids_unique.py +++ b/pype/hosts/maya/plugins/publish/validate_node_ids_unique.py @@ -2,8 +2,8 @@ from collections import defaultdict import pyblish.api import pype.api -import pype.hosts.maya.action -from pype.hosts.maya import lib +import pype.hosts.maya.api.action +from pype.hosts.maya.api import lib class ValidateNodeIdsUnique(pyblish.api.InstancePlugin): @@ -20,8 +20,8 @@ class ValidateNodeIdsUnique(pyblish.api.InstancePlugin): "rig", "yetiRig"] - actions = [pype.hosts.maya.action.SelectInvalidAction, - pype.hosts.maya.action.GenerateUUIDsOnInvalidAction] + actions = [pype.hosts.maya.api.action.SelectInvalidAction, + pype.hosts.maya.api.action.GenerateUUIDsOnInvalidAction] def process(self, instance): """Process all meshes""" diff --git a/pype/hosts/maya/plugins/publish/validate_node_no_ghosting.py b/pype/hosts/maya/plugins/publish/validate_node_no_ghosting.py index a4b3122b34..3acd5b027d 100644 --- a/pype/hosts/maya/plugins/publish/validate_node_no_ghosting.py +++ b/pype/hosts/maya/plugins/publish/validate_node_no_ghosting.py @@ -2,7 +2,7 @@ from maya import cmds import pyblish.api import pype.api -import pype.hosts.maya.action +import pype.hosts.maya.api.action class ValidateNodeNoGhosting(pyblish.api.InstancePlugin): @@ -21,7 +21,7 @@ class ValidateNodeNoGhosting(pyblish.api.InstancePlugin): hosts = ['maya'] families = ['model', 'rig'] label = "No Ghosting" - actions = [pype.hosts.maya.action.SelectInvalidAction] + actions = [pype.hosts.maya.api.action.SelectInvalidAction] _attributes = {'ghosting': 0} diff --git a/pype/hosts/maya/plugins/publish/validate_render_no_default_cameras.py b/pype/hosts/maya/plugins/publish/validate_render_no_default_cameras.py index 8c1fb42f1a..38383310a2 100644 --- a/pype/hosts/maya/plugins/publish/validate_render_no_default_cameras.py +++ b/pype/hosts/maya/plugins/publish/validate_render_no_default_cameras.py @@ -2,7 +2,7 @@ from maya import cmds import pyblish.api import pype.api -import pype.hosts.maya.action +import pype.hosts.maya.api.action class ValidateRenderNoDefaultCameras(pyblish.api.InstancePlugin): @@ -12,7 +12,7 @@ class ValidateRenderNoDefaultCameras(pyblish.api.InstancePlugin): hosts = ['maya'] families = ['renderlayer'] label = "No Default Cameras Renderable" - actions = [pype.hosts.maya.action.SelectInvalidAction] + actions = [pype.hosts.maya.api.action.SelectInvalidAction] @staticmethod def get_invalid(instance): diff --git a/pype/hosts/maya/plugins/publish/validate_render_single_camera.py b/pype/hosts/maya/plugins/publish/validate_render_single_camera.py index 482cf2fb59..268a6599e2 100644 --- a/pype/hosts/maya/plugins/publish/validate_render_single_camera.py +++ b/pype/hosts/maya/plugins/publish/validate_render_single_camera.py @@ -2,7 +2,7 @@ import re import pyblish.api import pype.api -import pype.hosts.maya.action +import pype.hosts.maya.api.action from maya import cmds @@ -28,7 +28,7 @@ class ValidateRenderSingleCamera(pyblish.api.InstancePlugin): hosts = ['maya'] families = ["renderlayer", "vrayscene"] - actions = [pype.hosts.maya.action.SelectInvalidAction] + actions = [pype.hosts.maya.api.action.SelectInvalidAction] R_CAMERA_TOKEN = re.compile(r'%c|', re.IGNORECASE) diff --git a/pype/hosts/maya/plugins/publish/validate_renderlayer_aovs.py b/pype/hosts/maya/plugins/publish/validate_renderlayer_aovs.py index aba8fdaa96..7fdd8b377c 100644 --- a/pype/hosts/maya/plugins/publish/validate_renderlayer_aovs.py +++ b/pype/hosts/maya/plugins/publish/validate_renderlayer_aovs.py @@ -1,6 +1,6 @@ import pyblish.api -import pype.hosts.maya.action +import pype.hosts.maya.api.action from avalon import io import pype.api @@ -25,7 +25,7 @@ class ValidateRenderLayerAOVs(pyblish.api.InstancePlugin): label = "Render Passes / AOVs Are Registered" hosts = ["maya"] families = ["renderlayer"] - actions = [pype.hosts.maya.action.SelectInvalidAction] + actions = [pype.hosts.maya.api.action.SelectInvalidAction] def process(self, instance): invalid = self.get_invalid(instance) diff --git a/pype/hosts/maya/plugins/publish/validate_rendersettings.py b/pype/hosts/maya/plugins/publish/validate_rendersettings.py index 297ead5ebb..88a386db57 100644 --- a/pype/hosts/maya/plugins/publish/validate_rendersettings.py +++ b/pype/hosts/maya/plugins/publish/validate_rendersettings.py @@ -6,7 +6,7 @@ import pymel.core as pm import pyblish.api import pype.api -from pype.hosts.maya import lib +from pype.hosts.maya.api import lib class ValidateRenderSettings(pyblish.api.InstancePlugin): diff --git a/pype/hosts/maya/plugins/publish/validate_rig_controllers.py b/pype/hosts/maya/plugins/publish/validate_rig_controllers.py index a127728155..ef0df2df7c 100644 --- a/pype/hosts/maya/plugins/publish/validate_rig_controllers.py +++ b/pype/hosts/maya/plugins/publish/validate_rig_controllers.py @@ -3,8 +3,8 @@ from maya import cmds import pyblish.api import pype.api -import pype.hosts.maya.action -from pype.hosts.maya.lib import undo_chunk +import pype.hosts.maya.api.action +from pype.hosts.maya.api.lib import undo_chunk class ValidateRigControllers(pyblish.api.InstancePlugin): @@ -30,7 +30,7 @@ class ValidateRigControllers(pyblish.api.InstancePlugin): hosts = ["maya"] families = ["rig"] actions = [pype.api.RepairAction, - pype.hosts.maya.action.SelectInvalidAction] + pype.hosts.maya.api.action.SelectInvalidAction] # Default controller values CONTROLLER_DEFAULTS = { diff --git a/pype/hosts/maya/plugins/publish/validate_rig_controllers_arnold_attributes.py b/pype/hosts/maya/plugins/publish/validate_rig_controllers_arnold_attributes.py index 8c1f8e4c7b..f19e3fbb61 100644 --- a/pype/hosts/maya/plugins/publish/validate_rig_controllers_arnold_attributes.py +++ b/pype/hosts/maya/plugins/publish/validate_rig_controllers_arnold_attributes.py @@ -3,8 +3,8 @@ from maya import cmds import pyblish.api import pype.api -from pype.hosts.maya import lib -import pype.hosts.maya.action +from pype.hosts.maya.api import lib +import pype.hosts.maya.api.action class ValidateRigControllersArnoldAttributes(pyblish.api.InstancePlugin): @@ -31,7 +31,7 @@ class ValidateRigControllersArnoldAttributes(pyblish.api.InstancePlugin): hosts = ["maya"] families = ["rig"] actions = [pype.api.RepairAction, - pype.hosts.maya.action.SelectInvalidAction] + pype.hosts.maya.api.action.SelectInvalidAction] attributes = [ "rcurve", diff --git a/pype/hosts/maya/plugins/publish/validate_rig_out_set_node_ids.py b/pype/hosts/maya/plugins/publish/validate_rig_out_set_node_ids.py index 97dca803ee..d1502f885d 100644 --- a/pype/hosts/maya/plugins/publish/validate_rig_out_set_node_ids.py +++ b/pype/hosts/maya/plugins/publish/validate_rig_out_set_node_ids.py @@ -2,8 +2,8 @@ import maya.cmds as cmds import pyblish.api import pype.api -import pype.hosts.maya.action -from pype.hosts.maya import lib +import pype.hosts.maya.api.action +from pype.hosts.maya.api import lib class ValidateRigOutSetNodeIds(pyblish.api.InstancePlugin): @@ -20,7 +20,7 @@ class ValidateRigOutSetNodeIds(pyblish.api.InstancePlugin): families = ["rig"] hosts = ['maya'] label = 'Rig Out Set Node Ids' - actions = [pype.hosts.maya.action.SelectInvalidAction, pype.api.RepairAction] + actions = [pype.hosts.maya.api.action.SelectInvalidAction, pype.api.RepairAction] def process(self, instance): """Process all meshes""" diff --git a/pype/hosts/maya/plugins/publish/validate_rig_output_ids.py b/pype/hosts/maya/plugins/publish/validate_rig_output_ids.py index fe9662d9d9..43d287ae97 100644 --- a/pype/hosts/maya/plugins/publish/validate_rig_output_ids.py +++ b/pype/hosts/maya/plugins/publish/validate_rig_output_ids.py @@ -3,8 +3,8 @@ import pymel.core as pc import pyblish.api import pype.api -import pype.hosts.maya.action -from pype.hosts.maya.lib import undo_chunk +import pype.hosts.maya.api.action +from pype.hosts.maya.api.lib import undo_chunk class ValidateRigOutputIds(pyblish.api.InstancePlugin): @@ -19,7 +19,7 @@ class ValidateRigOutputIds(pyblish.api.InstancePlugin): hosts = ["maya"] families = ["rig"] actions = [pype.api.RepairAction, - pype.hosts.maya.action.SelectInvalidAction] + pype.hosts.maya.api.action.SelectInvalidAction] def process(self, instance): invalid = self.get_invalid(instance, compute=True) diff --git a/pype/hosts/maya/plugins/publish/validate_shader_name.py b/pype/hosts/maya/plugins/publish/validate_shader_name.py index 094ac0afe9..4a42ec6e35 100644 --- a/pype/hosts/maya/plugins/publish/validate_shader_name.py +++ b/pype/hosts/maya/plugins/publish/validate_shader_name.py @@ -2,7 +2,7 @@ from maya import cmds import pyblish.api import pype.api -import pype.hosts.maya.action +import pype.hosts.maya.api.action import re @@ -18,7 +18,7 @@ class ValidateShaderName(pyblish.api.InstancePlugin): families = ["look"] hosts = ['maya'] label = 'Validate Shaders Name' - actions = [pype.hosts.maya.action.SelectInvalidAction] + actions = [pype.hosts.maya.api.action.SelectInvalidAction] regex = r'(?P.*)_(.*)_SHD' # The default connections to check diff --git a/pype/hosts/maya/plugins/publish/validate_shape_default_names.py b/pype/hosts/maya/plugins/publish/validate_shape_default_names.py index c0638863da..cd4e9905d9 100644 --- a/pype/hosts/maya/plugins/publish/validate_shape_default_names.py +++ b/pype/hosts/maya/plugins/publish/validate_shape_default_names.py @@ -4,7 +4,7 @@ from maya import cmds import pyblish.api import pype.api -import pype.hosts.maya.action +import pype.hosts.maya.api.action def short_name(node): @@ -38,7 +38,7 @@ class ValidateShapeDefaultNames(pyblish.api.InstancePlugin): optional = True version = (0, 1, 0) label = "Shape Default Naming" - actions = [pype.hosts.maya.action.SelectInvalidAction, + actions = [pype.hosts.maya.api.action.SelectInvalidAction, pype.api.RepairAction] @staticmethod diff --git a/pype/hosts/maya/plugins/publish/validate_shape_render_stats.py b/pype/hosts/maya/plugins/publish/validate_shape_render_stats.py index af48d664ec..c94becabe9 100644 --- a/pype/hosts/maya/plugins/publish/validate_shape_render_stats.py +++ b/pype/hosts/maya/plugins/publish/validate_shape_render_stats.py @@ -3,7 +3,7 @@ import pype.api from maya import cmds -import pype.hosts.maya.action +import pype.hosts.maya.api.action class ValidateShapeRenderStats(pyblish.api.Validator): @@ -13,7 +13,7 @@ class ValidateShapeRenderStats(pyblish.api.Validator): hosts = ['maya'] families = ['model'] label = 'Shape Default Render Stats' - actions = [pype.hosts.maya.action.SelectInvalidAction, + actions = [pype.hosts.maya.api.action.SelectInvalidAction, pype.api.RepairAction] defaults = {'castsShadows': 1, diff --git a/pype/hosts/maya/plugins/publish/validate_skinCluster_deformer_set.py b/pype/hosts/maya/plugins/publish/validate_skinCluster_deformer_set.py index 39870658ad..2d28d26b0f 100644 --- a/pype/hosts/maya/plugins/publish/validate_skinCluster_deformer_set.py +++ b/pype/hosts/maya/plugins/publish/validate_skinCluster_deformer_set.py @@ -2,7 +2,7 @@ from maya import cmds import pyblish.api import pype.api -import pype.hosts.maya.action +import pype.hosts.maya.api.action class ValidateSkinclusterDeformerSet(pyblish.api.InstancePlugin): @@ -18,7 +18,7 @@ class ValidateSkinclusterDeformerSet(pyblish.api.InstancePlugin): hosts = ['maya'] families = ['fbx'] label = "Skincluster Deformer Relationships" - actions = [pype.hosts.maya.action.SelectInvalidAction] + actions = [pype.hosts.maya.api.action.SelectInvalidAction] def process(self, instance): """Process all the transform nodes in the instance""" diff --git a/pype/hosts/maya/plugins/publish/validate_step_size.py b/pype/hosts/maya/plugins/publish/validate_step_size.py index 5e46e7df0b..502a1c37c2 100644 --- a/pype/hosts/maya/plugins/publish/validate_step_size.py +++ b/pype/hosts/maya/plugins/publish/validate_step_size.py @@ -1,6 +1,6 @@ import pyblish.api import pype.api -import pype.hosts.maya.action +import pype.hosts.maya.api.action class ValidateStepSize(pyblish.api.InstancePlugin): @@ -15,7 +15,7 @@ class ValidateStepSize(pyblish.api.InstancePlugin): families = ['camera', 'pointcache', 'animation'] - actions = [pype.hosts.maya.action.SelectInvalidAction] + actions = [pype.hosts.maya.api.action.SelectInvalidAction] MIN = 0.01 MAX = 1.0 diff --git a/pype/hosts/maya/plugins/publish/validate_transform_naming_suffix.py b/pype/hosts/maya/plugins/publish/validate_transform_naming_suffix.py index 120123af4b..14d4e7d5c8 100644 --- a/pype/hosts/maya/plugins/publish/validate_transform_naming_suffix.py +++ b/pype/hosts/maya/plugins/publish/validate_transform_naming_suffix.py @@ -4,7 +4,7 @@ from maya import cmds import pyblish.api import pype.api -import pype.hosts.maya.action +import pype.hosts.maya.api.action class ValidateTransformNamingSuffix(pyblish.api.InstancePlugin): @@ -34,7 +34,7 @@ class ValidateTransformNamingSuffix(pyblish.api.InstancePlugin): optional = True version = (0, 1, 0) label = 'Suffix Naming Conventions' - actions = [pype.hosts.maya.action.SelectInvalidAction] + actions = [pype.hosts.maya.api.action.SelectInvalidAction] SUFFIX_NAMING_TABLE = {'mesh': ["_GEO", "_GES", "_GEP", "_OSD"], 'nurbsCurve': ["_CRV"], 'nurbsSurface': ["_NRB"], diff --git a/pype/hosts/maya/plugins/publish/validate_transform_zero.py b/pype/hosts/maya/plugins/publish/validate_transform_zero.py index ac5517061f..0cecc3124b 100644 --- a/pype/hosts/maya/plugins/publish/validate_transform_zero.py +++ b/pype/hosts/maya/plugins/publish/validate_transform_zero.py @@ -2,7 +2,7 @@ from maya import cmds import pyblish.api import pype.api -import pype.hosts.maya.action +import pype.hosts.maya.api.action class ValidateTransformZero(pyblish.api.Validator): @@ -20,7 +20,7 @@ class ValidateTransformZero(pyblish.api.Validator): category = "geometry" version = (0, 1, 0) label = "Transform Zero (Freeze)" - actions = [pype.hosts.maya.action.SelectInvalidAction] + actions = [pype.hosts.maya.api.action.SelectInvalidAction] _identity = [1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, diff --git a/pype/hosts/maya/plugins/publish/validate_unicode_strings.py b/pype/hosts/maya/plugins/publish/validate_unicode_strings.py index bf44d971af..cfcba4f514 100644 --- a/pype/hosts/maya/plugins/publish/validate_unicode_strings.py +++ b/pype/hosts/maya/plugins/publish/validate_unicode_strings.py @@ -3,7 +3,7 @@ from maya import cmds import pyblish.api import pype.api -import pype.hosts.maya.action +import pype.hosts.maya.api.action class ValidateUnicodeStrings(pyblish.api.Validator): diff --git a/pype/hosts/maya/plugins/publish/validate_unreal_mesh_triangulated.py b/pype/hosts/maya/plugins/publish/validate_unreal_mesh_triangulated.py index 2cefe27019..9011b584fe 100644 --- a/pype/hosts/maya/plugins/publish/validate_unreal_mesh_triangulated.py +++ b/pype/hosts/maya/plugins/publish/validate_unreal_mesh_triangulated.py @@ -13,7 +13,7 @@ class ValidateUnrealMeshTriangulated(pyblish.api.InstancePlugin): families = ["unrealStaticMesh"] category = "geometry" label = "Mesh is Triangulated" - actions = [pype.hosts.maya.action.SelectInvalidAction] + actions = [pype.hosts.maya.api.action.SelectInvalidAction] @classmethod def get_invalid(cls, instance): diff --git a/pype/hosts/maya/plugins/publish/validate_unreal_staticmesh_naming.py b/pype/hosts/maya/plugins/publish/validate_unreal_staticmesh_naming.py index 4116c5f534..8bda849b3f 100644 --- a/pype/hosts/maya/plugins/publish/validate_unreal_staticmesh_naming.py +++ b/pype/hosts/maya/plugins/publish/validate_unreal_staticmesh_naming.py @@ -3,7 +3,7 @@ from maya import cmds import pyblish.api import pype.api -import pype.hosts.maya.action +import pype.hosts.maya.api.action import re @@ -51,7 +51,7 @@ class ValidateUnrealStaticmeshName(pyblish.api.InstancePlugin): hosts = ["maya"] families = ["unrealStaticMesh"] label = "Unreal StaticMesh Name" - actions = [pype.hosts.maya.action.SelectInvalidAction] + actions = [pype.hosts.maya.api.action.SelectInvalidAction] regex_mesh = r"SM_(?P.*)_(\d{2})" regex_collision = r"((UBX)|(UCP)|(USP)|(UCX))_(?P.*)_(\d{2})" diff --git a/pype/hosts/maya/plugins/publish/validate_vray_distributed_rendering.py b/pype/hosts/maya/plugins/publish/validate_vray_distributed_rendering.py index 6bec0c88dd..0c3086fee0 100644 --- a/pype/hosts/maya/plugins/publish/validate_vray_distributed_rendering.py +++ b/pype/hosts/maya/plugins/publish/validate_vray_distributed_rendering.py @@ -1,6 +1,6 @@ import pyblish.api import pype.api -from pype.hosts.maya import lib +from pype.hosts.maya.api import lib from maya import cmds diff --git a/pype/hosts/maya/plugins/publish/validate_vray_referenced_aovs.py b/pype/hosts/maya/plugins/publish/validate_vray_referenced_aovs.py index 120677021d..f451a08b0b 100644 --- a/pype/hosts/maya/plugins/publish/validate_vray_referenced_aovs.py +++ b/pype/hosts/maya/plugins/publish/validate_vray_referenced_aovs.py @@ -4,7 +4,7 @@ import pyblish.api import types from maya import cmds -import pype.hosts.maya.action +import pype.hosts.maya.api.action class ValidateVrayReferencedAOVs(pyblish.api.InstancePlugin): diff --git a/pype/hosts/maya/plugins/publish/validate_vrayproxy_members.py b/pype/hosts/maya/plugins/publish/validate_vrayproxy_members.py index 75946a6787..829c2d67ae 100644 --- a/pype/hosts/maya/plugins/publish/validate_vrayproxy_members.py +++ b/pype/hosts/maya/plugins/publish/validate_vrayproxy_members.py @@ -3,7 +3,7 @@ import pype.api from maya import cmds -import pype.hosts.maya.action +import pype.hosts.maya.api.action class ValidateVrayProxyMembers(pyblish.api.InstancePlugin): @@ -13,7 +13,7 @@ class ValidateVrayProxyMembers(pyblish.api.InstancePlugin): label = 'VRay Proxy Members' hosts = ['maya'] families = ['vrayproxy'] - actions = [pype.hosts.maya.action.SelectInvalidAction] + actions = [pype.hosts.maya.api.action.SelectInvalidAction] def process(self, instance): diff --git a/pype/hosts/maya/plugins/publish/validate_yeti_rig_cache_state.py b/pype/hosts/maya/plugins/publish/validate_yeti_rig_cache_state.py index 1ed145fecd..7eb3153d1e 100644 --- a/pype/hosts/maya/plugins/publish/validate_yeti_rig_cache_state.py +++ b/pype/hosts/maya/plugins/publish/validate_yeti_rig_cache_state.py @@ -1,7 +1,7 @@ import pyblish.api import pype.action import maya.cmds as cmds -import pype.hosts.maya.action +import pype.hosts.maya.api.action class ValidateYetiRigCacheState(pyblish.api.InstancePlugin): @@ -18,7 +18,7 @@ class ValidateYetiRigCacheState(pyblish.api.InstancePlugin): hosts = ["maya"] families = ["yetiRig"] actions = [pype.action.RepairAction, - pype.hosts.maya.action.SelectInvalidAction] + pype.hosts.maya.api.action.SelectInvalidAction] def process(self, instance): invalid = self.get_invalid(instance) diff --git a/pype/hosts/maya/plugins/publish/validate_yeti_rig_input_in_instance.py b/pype/hosts/maya/plugins/publish/validate_yeti_rig_input_in_instance.py index 647a66cb57..c0bd46efc1 100644 --- a/pype/hosts/maya/plugins/publish/validate_yeti_rig_input_in_instance.py +++ b/pype/hosts/maya/plugins/publish/validate_yeti_rig_input_in_instance.py @@ -2,7 +2,7 @@ from maya import cmds import pyblish.api import pype.api -import pype.hosts.maya.action +import pype.hosts.maya.api.action class ValidateYetiRigInputShapesInInstance(pyblish.api.Validator): @@ -12,7 +12,7 @@ class ValidateYetiRigInputShapesInInstance(pyblish.api.Validator): hosts = ["maya"] families = ["yetiRig"] label = "Yeti Rig Input Shapes In Instance" - actions = [pype.hosts.maya.action.SelectInvalidAction] + actions = [pype.hosts.maya.api.action.SelectInvalidAction] def process(self, instance): From 63361832b26b23ac5fbd33ee003be5f798f49bc5 Mon Sep 17 00:00:00 2001 From: Milan Kolar Date: Thu, 28 Jan 2021 10:54:39 +0100 Subject: [PATCH 11/26] change maya usersetup import --- pype/hosts/maya/startup/userSetup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pype/hosts/maya/startup/userSetup.py b/pype/hosts/maya/startup/userSetup.py index 6ee008c5fc..a562d3ab9e 100644 --- a/pype/hosts/maya/startup/userSetup.py +++ b/pype/hosts/maya/startup/userSetup.py @@ -1,6 +1,6 @@ import os from pype.api import get_project_settings -import pype.hosts.maya.lib as mlib +import pype.hosts.maya.api.lib as mlib from maya import cmds From 48c96679759fc14a1d7fe24d8334ca2b7ec80d2b Mon Sep 17 00:00:00 2001 From: Milan Kolar Date: Thu, 28 Jan 2021 10:54:51 +0100 Subject: [PATCH 12/26] change maya deadline import --- pype/modules/deadline/plugins/publish/submit_maya_deadline.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pype/modules/deadline/plugins/publish/submit_maya_deadline.py b/pype/modules/deadline/plugins/publish/submit_maya_deadline.py index 5811ff4886..08b7479350 100644 --- a/pype/modules/deadline/plugins/publish/submit_maya_deadline.py +++ b/pype/modules/deadline/plugins/publish/submit_maya_deadline.py @@ -35,7 +35,7 @@ from maya import cmds from avalon import api import pyblish.api -from pype.hosts.maya import lib +from pype.hosts.maya.api import lib # Documentation for keys available at: # https://docs.thinkboxsoftware.com From c8d1fd25e439617f787f418cdbc1d285d8670fca Mon Sep 17 00:00:00 2001 From: Milan Kolar Date: Thu, 28 Jan 2021 10:56:54 +0100 Subject: [PATCH 13/26] move maya sedress api to maya host --- pype/hosts/maya/plugins/load/load_assembly.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/pype/hosts/maya/plugins/load/load_assembly.py b/pype/hosts/maya/plugins/load/load_assembly.py index 4f72ff9e13..a5f2394444 100644 --- a/pype/hosts/maya/plugins/load/load_assembly.py +++ b/pype/hosts/maya/plugins/load/load_assembly.py @@ -23,9 +23,9 @@ class AssemblyLoader(api.Loader): suffix="_", ) - from pype import setdress_api + from pype.hosts.maya.api import setdress - containers = setdress_api.load_package(filepath=self.fname, + containers = setdress.load_package(filepath=self.fname, name=name, namespace=namespace) @@ -45,19 +45,19 @@ class AssemblyLoader(api.Loader): def update(self, container, representation): - from pype import setdress_api - return setdress_api.update_package(container, + from pype import setdress + return setdress.update_package(container, representation) def remove(self, container): """Remove all sub containers""" from avalon import api - from pype import setdress_api + from pype import setdress import maya.cmds as cmds # Remove all members - member_containers = setdress_api.get_contained_containers(container) + member_containers = setdress.get_contained_containers(container) for member_container in member_containers: self.log.info("Removing container %s", member_container['objectName']) From a38abee4d90c6df5becf1145c024e051b2cd9411 Mon Sep 17 00:00:00 2001 From: Milan Kolar Date: Thu, 28 Jan 2021 11:00:33 +0100 Subject: [PATCH 14/26] update maya-look-assigner --- repos/maya-look-assigner | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/repos/maya-look-assigner b/repos/maya-look-assigner index baf19fe86a..7adabe8f0e 160000 --- a/repos/maya-look-assigner +++ b/repos/maya-look-assigner @@ -1 +1 @@ -Subproject commit baf19fe86a836259c0ce050b229cd521625708bf +Subproject commit 7adabe8f0e6858bfe5b6bf0b39bd428ed72d0452 From 9e54747c747c9bad3c908d32225698737cef766c Mon Sep 17 00:00:00 2001 From: Milan Kolar Date: Thu, 28 Jan 2021 11:22:32 +0100 Subject: [PATCH 15/26] fix hound --- pype/hosts/maya/plugins/load/load_gpucache.py | 5 +---- pype/hosts/maya/plugins/publish/extract_assproxy.py | 1 - .../publish/validate_animation_out_set_related_node_ids.py | 5 ++++- .../plugins/publish/validate_node_ids_deformed_shapes.py | 5 ++++- .../maya/plugins/publish/validate_rig_out_set_node_ids.py | 5 ++++- 5 files changed, 13 insertions(+), 8 deletions(-) diff --git a/pype/hosts/maya/plugins/load/load_gpucache.py b/pype/hosts/maya/plugins/load/load_gpucache.py index a183a46cd3..e6fde1eaa8 100644 --- a/pype/hosts/maya/plugins/load/load_gpucache.py +++ b/pype/hosts/maya/plugins/load/load_gpucache.py @@ -1,9 +1,6 @@ -from avalon import api -import pype.hosts.maya.api.plugin import os +from avalon import api from pype.api import get_project_settings -reload(config) - class GpuCacheLoader(api.Loader): """Load model Alembic as gpuCache""" diff --git a/pype/hosts/maya/plugins/publish/extract_assproxy.py b/pype/hosts/maya/plugins/publish/extract_assproxy.py index 80cca1396b..3579d26534 100644 --- a/pype/hosts/maya/plugins/publish/extract_assproxy.py +++ b/pype/hosts/maya/plugins/publish/extract_assproxy.py @@ -5,7 +5,6 @@ import contextlib import avalon.maya import pype.api -from pype.hosts.maya.api import lib class ExtractAssProxy(pype.api.Extractor): diff --git a/pype/hosts/maya/plugins/publish/validate_animation_out_set_related_node_ids.py b/pype/hosts/maya/plugins/publish/validate_animation_out_set_related_node_ids.py index ffafd14bcd..6bea9bf856 100644 --- a/pype/hosts/maya/plugins/publish/validate_animation_out_set_related_node_ids.py +++ b/pype/hosts/maya/plugins/publish/validate_animation_out_set_related_node_ids.py @@ -20,7 +20,10 @@ class ValidateOutRelatedNodeIds(pyblish.api.InstancePlugin): families = ['animation', "pointcache"] hosts = ['maya'] label = 'Animation Out Set Related Node Ids' - actions = [pype.hosts.maya.api.action.SelectInvalidAction, pype.api.RepairAction] + actions = [ + pype.hosts.maya.api.action.SelectInvalidAction, + pype.api.RepairAction + ] def process(self, instance): """Process all meshes""" diff --git a/pype/hosts/maya/plugins/publish/validate_node_ids_deformed_shapes.py b/pype/hosts/maya/plugins/publish/validate_node_ids_deformed_shapes.py index 4bf66a464f..757414a074 100644 --- a/pype/hosts/maya/plugins/publish/validate_node_ids_deformed_shapes.py +++ b/pype/hosts/maya/plugins/publish/validate_node_ids_deformed_shapes.py @@ -20,7 +20,10 @@ class ValidateNodeIdsDeformedShape(pyblish.api.InstancePlugin): families = ['look'] hosts = ['maya'] label = 'Deformed shape ids' - actions = [pype.hosts.maya.api.action.SelectInvalidAction, pype.api.RepairAction] + actions = [ + pype.hosts.maya.api.action.SelectInvalidAction, + pype.api.RepairAction + ] def process(self, instance): """Process all the nodes in the instance""" diff --git a/pype/hosts/maya/plugins/publish/validate_rig_out_set_node_ids.py b/pype/hosts/maya/plugins/publish/validate_rig_out_set_node_ids.py index d1502f885d..1782395d96 100644 --- a/pype/hosts/maya/plugins/publish/validate_rig_out_set_node_ids.py +++ b/pype/hosts/maya/plugins/publish/validate_rig_out_set_node_ids.py @@ -20,7 +20,10 @@ class ValidateRigOutSetNodeIds(pyblish.api.InstancePlugin): families = ["rig"] hosts = ['maya'] label = 'Rig Out Set Node Ids' - actions = [pype.hosts.maya.api.action.SelectInvalidAction, pype.api.RepairAction] + actions = [ + pype.hosts.maya.api.action.SelectInvalidAction, + pype.api.RepairAction + ] def process(self, instance): """Process all meshes""" From a42d59208fa26464efb4d352733dc1ed2e079a4b Mon Sep 17 00:00:00 2001 From: Milan Kolar Date: Thu, 28 Jan 2021 11:22:50 +0100 Subject: [PATCH 16/26] change maya callbacks to new host structure --- pype/hosts/maya/api/__init__.py | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/pype/hosts/maya/api/__init__.py b/pype/hosts/maya/api/__init__.py index 35d8d92d26..c2506e3284 100644 --- a/pype/hosts/maya/api/__init__.py +++ b/pype/hosts/maya/api/__init__.py @@ -154,11 +154,14 @@ def on_open(): from ...widgets import popup cmds.evalDeferred( - "from pype.hosts.maya import lib;lib.remove_render_layer_observer()") + "from pype.hosts.maya.api import lib;" + "lib.remove_render_layer_observer()") cmds.evalDeferred( - "from pype.hosts.maya import lib;lib.add_render_layer_observer()") + "from pype.hosts.maya.api import lib;" + "lib.add_render_layer_observer()") cmds.evalDeferred( - "from pype.hosts.maya import lib;lib.add_render_layer_change_observer()") + "from pype.hosts.maya.api import lib;" + "lib.add_render_layer_change_observer()") # # Update current task for the current scene # update_task_from_path(cmds.file(query=True, sceneName=True)) @@ -198,11 +201,14 @@ def on_new(_): avalon.logger.info("Running callback on new..") with suspended_refresh(): cmds.evalDeferred( - "from pype.hosts.maya import lib;lib.remove_render_layer_observer()") + "from pype.hosts.maya.api import lib;" + "lib.remove_render_layer_observer()") cmds.evalDeferred( - "from pype.hosts.maya import lib;lib.add_render_layer_observer()") + "from pype.hosts.maya.api import lib;" + "lib.add_render_layer_observer()") cmds.evalDeferred( - "from pype.hosts.maya import lib;lib.add_render_layer_change_observer()") + "from pype.hosts.maya.api import lib;" + "lib.add_render_layer_change_observer()") lib.set_context_settings() @@ -214,6 +220,7 @@ def on_task_changed(*args): lib.set_context_settings() lib.update_content_on_context_change() - lib.show_message("Context was changed", - ("Context was changed to {}".format( - avalon.Session["AVALON_ASSET"]))) + lib.show_message( + "Context was changed", + ("Context was changed to {}".format(avalon.Session["AVALON_ASSET"])), + ) \ No newline at end of file From 021e6305dcb355c57b5c5cd7727a52134bdb9e6d Mon Sep 17 00:00:00 2001 From: Jakub Jezek Date: Thu, 28 Jan 2021 13:04:53 +0100 Subject: [PATCH 17/26] fix nuke: loader was not updating file knob on read --- pype/hosts/nuke/plugins/load/load_image.py | 1 + 1 file changed, 1 insertion(+) diff --git a/pype/hosts/nuke/plugins/load/load_image.py b/pype/hosts/nuke/plugins/load/load_image.py index ac54a90bc0..dcaf31c9e3 100644 --- a/pype/hosts/nuke/plugins/load/load_image.py +++ b/pype/hosts/nuke/plugins/load/load_image.py @@ -186,6 +186,7 @@ class LoadImage(api.Loader): last = first = int(frame_number) # Set the global in to the start frame of the sequence + node["file"].setValue(file) node["origfirst"].setValue(first) node["first"].setValue(first) node["origlast"].setValue(last) From 6c0d136dc0fa0be8e665a2e328c1ba1cf04b7a66 Mon Sep 17 00:00:00 2001 From: Milan Kolar Date: Thu, 28 Jan 2021 13:13:22 +0100 Subject: [PATCH 18/26] fix maya pythonpath to match refactored host --- pype/settings/defaults/system_settings/applications.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pype/settings/defaults/system_settings/applications.json b/pype/settings/defaults/system_settings/applications.json index ab2fdcbb57..184da76588 100644 --- a/pype/settings/defaults/system_settings/applications.json +++ b/pype/settings/defaults/system_settings/applications.json @@ -17,7 +17,7 @@ ] }, "PYTHONPATH": [ - "{PYPE_ROOT}/pype/setup/maya", + "{PYPE_ROOT}/pype/hosts/maya/startup", "{PYPE_REPOS_ROOT}/avalon-core/setup/maya", "{PYPE_REPOS_ROOT}/maya-look-assigner", "{PYTHONPATH}" From bf3f0eac30c5a05e67a64f1348eefa4d7e7bc9c5 Mon Sep 17 00:00:00 2001 From: Milan Kolar Date: Thu, 28 Jan 2021 16:43:48 +0100 Subject: [PATCH 19/26] move plugins to new structure --- pype/hosts/celaction/plugins/__init__.py | 0 .../plugins}/publish/collect_audio.py | 252 +++++++++--------- .../publish/collect_celaction_cli_kwargs.py | 46 ++-- .../publish/collect_celaction_instances.py | 192 ++++++------- .../plugins}/publish/collect_render_path.py | 0 .../plugins}/publish/integrate_version_up.py | 40 +-- .../publish/submit_celaction_deadline.py | 0 7 files changed, 265 insertions(+), 265 deletions(-) create mode 100644 pype/hosts/celaction/plugins/__init__.py rename pype/{plugins/celaction => hosts/celaction/plugins}/publish/collect_audio.py (97%) rename pype/{plugins/celaction => hosts/celaction/plugins}/publish/collect_celaction_cli_kwargs.py (92%) rename pype/{plugins/celaction => hosts/celaction/plugins}/publish/collect_celaction_instances.py (97%) rename pype/{plugins/celaction => hosts/celaction/plugins}/publish/collect_render_path.py (100%) rename pype/{plugins/celaction => hosts/celaction/plugins}/publish/integrate_version_up.py (96%) rename pype/{plugins/celaction => hosts/celaction/plugins}/publish/submit_celaction_deadline.py (100%) diff --git a/pype/hosts/celaction/plugins/__init__.py b/pype/hosts/celaction/plugins/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/pype/plugins/celaction/publish/collect_audio.py b/pype/hosts/celaction/plugins/publish/collect_audio.py similarity index 97% rename from pype/plugins/celaction/publish/collect_audio.py rename to pype/hosts/celaction/plugins/publish/collect_audio.py index bab1203642..8d3c1568e6 100644 --- a/pype/plugins/celaction/publish/collect_audio.py +++ b/pype/hosts/celaction/plugins/publish/collect_audio.py @@ -1,126 +1,126 @@ -import os -import collections - -import pyblish.api -from avalon import io - -from pprint import pformat - - -class AppendCelactionAudio(pyblish.api.ContextPlugin): - - label = "Colect Audio for publishing" - order = pyblish.api.CollectorOrder + 0.1 - - def process(self, context): - self.log.info('Collecting Audio Data') - asset_doc = context.data["assetEntity"] - - # get all available representations - subsets = self.get_subsets( - asset_doc, - representations=["audio", "wav"] - ) - self.log.info(f"subsets is: {pformat(subsets)}") - - if not subsets.get("audioMain"): - raise AttributeError("`audioMain` subset does not exist") - - reprs = subsets.get("audioMain", {}).get("representations", []) - self.log.info(f"reprs is: {pformat(reprs)}") - - repr = next((r for r in reprs), None) - if not repr: - raise "Missing `audioMain` representation" - self.log.info(f"represetation is: {repr}") - - audio_file = repr.get('data', {}).get('path', "") - - if os.path.exists(audio_file): - context.data["audioFile"] = audio_file - self.log.info( - 'audio_file: {}, has been added to context'.format(audio_file)) - else: - self.log.warning("Couldn't find any audio file on Ftrack.") - - def get_subsets(self, asset_doc, representations): - """ - Query subsets with filter on name. - - The method will return all found subsets and its defined version - and subsets. Version could be specified with number. Representation - can be filtered. - - Arguments: - asset_doct (dict): Asset (shot) mongo document - representations (list): list for all representations - - Returns: - dict: subsets with version and representaions in keys - """ - - # Query all subsets for asset - subset_docs = io.find({ - "type": "subset", - "parent": asset_doc["_id"] - }) - # Collect all subset ids - subset_ids = [ - subset_doc["_id"] - for subset_doc in subset_docs - ] - - # Check if we found anything - assert subset_ids, ( - "No subsets found. Check correct filter. " - "Try this for start `r'.*'`: asset: `{}`" - ).format(asset_doc["name"]) - - # Last version aggregation - pipeline = [ - # Find all versions of those subsets - {"$match": { - "type": "version", - "parent": {"$in": subset_ids} - }}, - # Sorting versions all together - {"$sort": {"name": 1}}, - # Group them by "parent", but only take the last - {"$group": { - "_id": "$parent", - "_version_id": {"$last": "$_id"}, - "name": {"$last": "$name"} - }} - ] - last_versions_by_subset_id = dict() - for doc in io.aggregate(pipeline): - doc["parent"] = doc["_id"] - doc["_id"] = doc.pop("_version_id") - last_versions_by_subset_id[doc["parent"]] = doc - - version_docs_by_id = {} - for version_doc in last_versions_by_subset_id.values(): - version_docs_by_id[version_doc["_id"]] = version_doc - - repre_docs = io.find({ - "type": "representation", - "parent": {"$in": list(version_docs_by_id.keys())}, - "name": {"$in": representations} - }) - repre_docs_by_version_id = collections.defaultdict(list) - for repre_doc in repre_docs: - version_id = repre_doc["parent"] - repre_docs_by_version_id[version_id].append(repre_doc) - - output_dict = {} - for version_id, repre_docs in repre_docs_by_version_id.items(): - version_doc = version_docs_by_id[version_id] - subset_id = version_doc["parent"] - subset_doc = last_versions_by_subset_id[subset_id] - # Store queried docs by subset name - output_dict[subset_doc["name"]] = { - "representations": repre_docs, - "version": version_doc - } - - return output_dict +import os +import collections + +import pyblish.api +from avalon import io + +from pprint import pformat + + +class AppendCelactionAudio(pyblish.api.ContextPlugin): + + label = "Colect Audio for publishing" + order = pyblish.api.CollectorOrder + 0.1 + + def process(self, context): + self.log.info('Collecting Audio Data') + asset_doc = context.data["assetEntity"] + + # get all available representations + subsets = self.get_subsets( + asset_doc, + representations=["audio", "wav"] + ) + self.log.info(f"subsets is: {pformat(subsets)}") + + if not subsets.get("audioMain"): + raise AttributeError("`audioMain` subset does not exist") + + reprs = subsets.get("audioMain", {}).get("representations", []) + self.log.info(f"reprs is: {pformat(reprs)}") + + repr = next((r for r in reprs), None) + if not repr: + raise "Missing `audioMain` representation" + self.log.info(f"represetation is: {repr}") + + audio_file = repr.get('data', {}).get('path', "") + + if os.path.exists(audio_file): + context.data["audioFile"] = audio_file + self.log.info( + 'audio_file: {}, has been added to context'.format(audio_file)) + else: + self.log.warning("Couldn't find any audio file on Ftrack.") + + def get_subsets(self, asset_doc, representations): + """ + Query subsets with filter on name. + + The method will return all found subsets and its defined version + and subsets. Version could be specified with number. Representation + can be filtered. + + Arguments: + asset_doct (dict): Asset (shot) mongo document + representations (list): list for all representations + + Returns: + dict: subsets with version and representaions in keys + """ + + # Query all subsets for asset + subset_docs = io.find({ + "type": "subset", + "parent": asset_doc["_id"] + }) + # Collect all subset ids + subset_ids = [ + subset_doc["_id"] + for subset_doc in subset_docs + ] + + # Check if we found anything + assert subset_ids, ( + "No subsets found. Check correct filter. " + "Try this for start `r'.*'`: asset: `{}`" + ).format(asset_doc["name"]) + + # Last version aggregation + pipeline = [ + # Find all versions of those subsets + {"$match": { + "type": "version", + "parent": {"$in": subset_ids} + }}, + # Sorting versions all together + {"$sort": {"name": 1}}, + # Group them by "parent", but only take the last + {"$group": { + "_id": "$parent", + "_version_id": {"$last": "$_id"}, + "name": {"$last": "$name"} + }} + ] + last_versions_by_subset_id = dict() + for doc in io.aggregate(pipeline): + doc["parent"] = doc["_id"] + doc["_id"] = doc.pop("_version_id") + last_versions_by_subset_id[doc["parent"]] = doc + + version_docs_by_id = {} + for version_doc in last_versions_by_subset_id.values(): + version_docs_by_id[version_doc["_id"]] = version_doc + + repre_docs = io.find({ + "type": "representation", + "parent": {"$in": list(version_docs_by_id.keys())}, + "name": {"$in": representations} + }) + repre_docs_by_version_id = collections.defaultdict(list) + for repre_doc in repre_docs: + version_id = repre_doc["parent"] + repre_docs_by_version_id[version_id].append(repre_doc) + + output_dict = {} + for version_id, repre_docs in repre_docs_by_version_id.items(): + version_doc = version_docs_by_id[version_id] + subset_id = version_doc["parent"] + subset_doc = last_versions_by_subset_id[subset_id] + # Store queried docs by subset name + output_dict[subset_doc["name"]] = { + "representations": repre_docs, + "version": version_doc + } + + return output_dict diff --git a/pype/plugins/celaction/publish/collect_celaction_cli_kwargs.py b/pype/hosts/celaction/plugins/publish/collect_celaction_cli_kwargs.py similarity index 92% rename from pype/plugins/celaction/publish/collect_celaction_cli_kwargs.py rename to pype/hosts/celaction/plugins/publish/collect_celaction_cli_kwargs.py index f4a9ec341d..463805ce4b 100644 --- a/pype/plugins/celaction/publish/collect_celaction_cli_kwargs.py +++ b/pype/hosts/celaction/plugins/publish/collect_celaction_cli_kwargs.py @@ -1,23 +1,23 @@ -import pyblish.api -from pype.hosts import celaction - - -class CollectCelactionCliKwargs(pyblish.api.Collector): - """ Collects all keyword arguments passed from the terminal """ - - label = "Collect Celaction Cli Kwargs" - order = pyblish.api.Collector.order - 0.1 - - def process(self, context): - kwargs = celaction.kwargs.copy() - - self.log.info("Storing kwargs: %s" % kwargs) - context.set_data("kwargs", kwargs) - - # get kwargs onto context data as keys with values - for k, v in kwargs.items(): - self.log.info(f"Setting `{k}` to instance.data with value: `{v}`") - if k in ["frameStart", "frameEnd"]: - context.data[k] = kwargs[k] = int(v) - else: - context.data[k] = v +import pyblish.api +from pype.hosts.celaction import api as celaction + + +class CollectCelactionCliKwargs(pyblish.api.Collector): + """ Collects all keyword arguments passed from the terminal """ + + label = "Collect Celaction Cli Kwargs" + order = pyblish.api.Collector.order - 0.1 + + def process(self, context): + kwargs = celaction.kwargs.copy() + + self.log.info("Storing kwargs: %s" % kwargs) + context.set_data("kwargs", kwargs) + + # get kwargs onto context data as keys with values + for k, v in kwargs.items(): + self.log.info(f"Setting `{k}` to instance.data with value: `{v}`") + if k in ["frameStart", "frameEnd"]: + context.data[k] = kwargs[k] = int(v) + else: + context.data[k] = v diff --git a/pype/plugins/celaction/publish/collect_celaction_instances.py b/pype/hosts/celaction/plugins/publish/collect_celaction_instances.py similarity index 97% rename from pype/plugins/celaction/publish/collect_celaction_instances.py rename to pype/hosts/celaction/plugins/publish/collect_celaction_instances.py index d3d1d264c0..f393e471c4 100644 --- a/pype/plugins/celaction/publish/collect_celaction_instances.py +++ b/pype/hosts/celaction/plugins/publish/collect_celaction_instances.py @@ -1,96 +1,96 @@ -import os -from avalon import api -import pyblish.api - - -class CollectCelactionInstances(pyblish.api.ContextPlugin): - """ Adds the celaction render instances """ - - label = "Collect Celaction Instances" - order = pyblish.api.CollectorOrder + 0.1 - - def process(self, context): - task = api.Session["AVALON_TASK"] - current_file = context.data["currentFile"] - staging_dir = os.path.dirname(current_file) - scene_file = os.path.basename(current_file) - version = context.data["version"] - asset_entity = context.data["assetEntity"] - project_entity = context.data["projectEntity"] - - shared_instance_data = { - "asset": asset_entity["name"], - "frameStart": asset_entity["data"]["frameStart"], - "frameEnd": asset_entity["data"]["frameEnd"], - "handleStart": asset_entity["data"]["handleStart"], - "handleEnd": asset_entity["data"]["handleEnd"], - "fps": asset_entity["data"]["fps"], - "resolutionWidth": asset_entity["data"].get( - "resolutionWidth", - project_entity["data"]["resolutionWidth"]), - "resolutionHeight": asset_entity["data"].get( - "resolutionHeight", - project_entity["data"]["resolutionHeight"]), - "pixelAspect": 1, - "step": 1, - "version": version - } - - celaction_kwargs = context.data.get("kwargs", {}) - - if celaction_kwargs: - shared_instance_data.update(celaction_kwargs) - - # workfile instance - family = "workfile" - subset = family + task.capitalize() - # Create instance - instance = context.create_instance(subset) - - # creating instance data - instance.data.update({ - "subset": subset, - "label": scene_file, - "family": family, - "families": [family, "ftrack"], - "representations": list() - }) - - # adding basic script data - instance.data.update(shared_instance_data) - - # creating representation - representation = { - 'name': 'scn', - 'ext': 'scn', - 'files': scene_file, - "stagingDir": staging_dir, - } - - instance.data["representations"].append(representation) - - self.log.info('Publishing Celaction workfile') - - # render instance - family = "render.farm" - subset = f"render{task}Main" - instance = context.create_instance(name=subset) - # getting instance state - instance.data["publish"] = True - - # add assetEntity data into instance - instance.data.update({ - "label": "{} - farm".format(subset), - "family": family, - "families": [family], - "subset": subset - }) - - # adding basic script data - instance.data.update(shared_instance_data) - - self.log.info('Publishing Celaction render instance') - self.log.debug(f"Instance data: `{instance.data}`") - - for i in context: - self.log.debug(f"{i.data['families']}") +import os +from avalon import api +import pyblish.api + + +class CollectCelactionInstances(pyblish.api.ContextPlugin): + """ Adds the celaction render instances """ + + label = "Collect Celaction Instances" + order = pyblish.api.CollectorOrder + 0.1 + + def process(self, context): + task = api.Session["AVALON_TASK"] + current_file = context.data["currentFile"] + staging_dir = os.path.dirname(current_file) + scene_file = os.path.basename(current_file) + version = context.data["version"] + asset_entity = context.data["assetEntity"] + project_entity = context.data["projectEntity"] + + shared_instance_data = { + "asset": asset_entity["name"], + "frameStart": asset_entity["data"]["frameStart"], + "frameEnd": asset_entity["data"]["frameEnd"], + "handleStart": asset_entity["data"]["handleStart"], + "handleEnd": asset_entity["data"]["handleEnd"], + "fps": asset_entity["data"]["fps"], + "resolutionWidth": asset_entity["data"].get( + "resolutionWidth", + project_entity["data"]["resolutionWidth"]), + "resolutionHeight": asset_entity["data"].get( + "resolutionHeight", + project_entity["data"]["resolutionHeight"]), + "pixelAspect": 1, + "step": 1, + "version": version + } + + celaction_kwargs = context.data.get("kwargs", {}) + + if celaction_kwargs: + shared_instance_data.update(celaction_kwargs) + + # workfile instance + family = "workfile" + subset = family + task.capitalize() + # Create instance + instance = context.create_instance(subset) + + # creating instance data + instance.data.update({ + "subset": subset, + "label": scene_file, + "family": family, + "families": [family, "ftrack"], + "representations": list() + }) + + # adding basic script data + instance.data.update(shared_instance_data) + + # creating representation + representation = { + 'name': 'scn', + 'ext': 'scn', + 'files': scene_file, + "stagingDir": staging_dir, + } + + instance.data["representations"].append(representation) + + self.log.info('Publishing Celaction workfile') + + # render instance + family = "render.farm" + subset = f"render{task}Main" + instance = context.create_instance(name=subset) + # getting instance state + instance.data["publish"] = True + + # add assetEntity data into instance + instance.data.update({ + "label": "{} - farm".format(subset), + "family": family, + "families": [family], + "subset": subset + }) + + # adding basic script data + instance.data.update(shared_instance_data) + + self.log.info('Publishing Celaction render instance') + self.log.debug(f"Instance data: `{instance.data}`") + + for i in context: + self.log.debug(f"{i.data['families']}") diff --git a/pype/plugins/celaction/publish/collect_render_path.py b/pype/hosts/celaction/plugins/publish/collect_render_path.py similarity index 100% rename from pype/plugins/celaction/publish/collect_render_path.py rename to pype/hosts/celaction/plugins/publish/collect_render_path.py diff --git a/pype/plugins/celaction/publish/integrate_version_up.py b/pype/hosts/celaction/plugins/publish/integrate_version_up.py similarity index 96% rename from pype/plugins/celaction/publish/integrate_version_up.py rename to pype/hosts/celaction/plugins/publish/integrate_version_up.py index e15c5d5bf6..140878e2b9 100644 --- a/pype/plugins/celaction/publish/integrate_version_up.py +++ b/pype/hosts/celaction/plugins/publish/integrate_version_up.py @@ -1,20 +1,20 @@ -import shutil -import pype -import pyblish.api - - -class VersionUpScene(pyblish.api.ContextPlugin): - order = pyblish.api.IntegratorOrder + 0.5 - label = 'Version Up Scene' - families = ['workfile'] - optional = True - active = True - - def process(self, context): - current_file = context.data.get('currentFile') - v_up = pype.lib.version_up(current_file) - self.log.debug('Current file is: {}'.format(current_file)) - self.log.debug('Version up: {}'.format(v_up)) - - shutil.copy2(current_file, v_up) - self.log.info('Scene saved into new version: {}'.format(v_up)) +import shutil +import pype +import pyblish.api + + +class VersionUpScene(pyblish.api.ContextPlugin): + order = pyblish.api.IntegratorOrder + 0.5 + label = 'Version Up Scene' + families = ['workfile'] + optional = True + active = True + + def process(self, context): + current_file = context.data.get('currentFile') + v_up = pype.lib.version_up(current_file) + self.log.debug('Current file is: {}'.format(current_file)) + self.log.debug('Version up: {}'.format(v_up)) + + shutil.copy2(current_file, v_up) + self.log.info('Scene saved into new version: {}'.format(v_up)) diff --git a/pype/plugins/celaction/publish/submit_celaction_deadline.py b/pype/hosts/celaction/plugins/publish/submit_celaction_deadline.py similarity index 100% rename from pype/plugins/celaction/publish/submit_celaction_deadline.py rename to pype/hosts/celaction/plugins/publish/submit_celaction_deadline.py From b83ddf378093f941c6cbbf3c93d478ed88ca65c9 Mon Sep 17 00:00:00 2001 From: Milan Kolar Date: Thu, 28 Jan 2021 16:44:17 +0100 Subject: [PATCH 20/26] change celaction structure --- pype/hosts/celaction/__init__.py | 1 - pype/hosts/celaction/api/__init__.py | 1 + pype/hosts/celaction/{ => api}/cli.py | 15 ++++++++------- pype/hosts/celaction/hooks/__init__.py | 0 .../celaction/hooks}/pre_celaction_registers.py | 9 +++++---- .../{ => resources}/celaction_template_scene.scn | Bin 6 files changed, 14 insertions(+), 12 deletions(-) create mode 100644 pype/hosts/celaction/api/__init__.py rename pype/hosts/celaction/{ => api}/cli.py (87%) create mode 100644 pype/hosts/celaction/hooks/__init__.py rename pype/{hooks/celaction => hosts/celaction/hooks}/pre_celaction_registers.py (95%) rename pype/hosts/celaction/{ => resources}/celaction_template_scene.scn (100%) diff --git a/pype/hosts/celaction/__init__.py b/pype/hosts/celaction/__init__.py index 8c93d93738..e69de29bb2 100644 --- a/pype/hosts/celaction/__init__.py +++ b/pype/hosts/celaction/__init__.py @@ -1 +0,0 @@ -kwargs = None diff --git a/pype/hosts/celaction/api/__init__.py b/pype/hosts/celaction/api/__init__.py new file mode 100644 index 0000000000..8c93d93738 --- /dev/null +++ b/pype/hosts/celaction/api/__init__.py @@ -0,0 +1 @@ +kwargs = None diff --git a/pype/hosts/celaction/cli.py b/pype/hosts/celaction/api/cli.py similarity index 87% rename from pype/hosts/celaction/cli.py rename to pype/hosts/celaction/api/cli.py index 42f7a1a385..9f2d1a1fdb 100644 --- a/pype/hosts/celaction/cli.py +++ b/pype/hosts/celaction/api/cli.py @@ -11,18 +11,19 @@ import pyblish.util from pype.api import Logger import pype -from pype.hosts import celaction +import pype.hosts.celaction +from pype.hosts.celaction import api as celaction log = Logger().get_logger("Celaction_cli_publisher") publish_host = "celaction" -PUBLISH_PATH = os.path.join(pype.PLUGINS_DIR, publish_host, "publish") - -PUBLISH_PATHS = [ - PUBLISH_PATH, - os.path.join(pype.PLUGINS_DIR, "ftrack", "publish") -] +HOST_DIR = os.path.dirname(os.path.abspath(pype.hosts.celaction.__file__)) +PLUGINS_DIR = os.path.join(HOST_DIR, "plugins") +PUBLISH_PATH = os.path.join(PLUGINS_DIR, "publish") +LOAD_PATH = os.path.join(PLUGINS_DIR, "load") +CREATE_PATH = os.path.join(PLUGINS_DIR, "create") +INVENTORY_PATH = os.path.join(PLUGINS_DIR, "inventory") def cli(): diff --git a/pype/hosts/celaction/hooks/__init__.py b/pype/hosts/celaction/hooks/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/pype/hooks/celaction/pre_celaction_registers.py b/pype/hosts/celaction/hooks/pre_celaction_registers.py similarity index 95% rename from pype/hooks/celaction/pre_celaction_registers.py rename to pype/hosts/celaction/hooks/pre_celaction_registers.py index 04ecf82c5c..1e836a2d63 100644 --- a/pype/hooks/celaction/pre_celaction_registers.py +++ b/pype/hosts/celaction/hooks/pre_celaction_registers.py @@ -2,7 +2,7 @@ import os import shutil import winreg from pype.lib import PreLaunchHook -from pype.hosts import celaction +from pype.hosts.celaction import api as celaction class CelactionPrelaunchHook(PreLaunchHook): @@ -37,7 +37,7 @@ class CelactionPrelaunchHook(PreLaunchHook): "Software\\CelAction\\CelAction2D\\User Settings", 0, winreg.KEY_ALL_ACCESS) - # TODO: change to root path and pyblish standalone to premiere way + # TODO: change to pype executable pype_root_path = os.getenv("PYPE_SETUP_PATH") path = os.path.join(pype_root_path, "pype.bat") @@ -94,11 +94,12 @@ class CelactionPrelaunchHook(PreLaunchHook): if not os.path.exists(workfile_path): # TODO add ability to set different template workfile path via # settings - pype_celaction_dir = os.path.dirname( + pype_celaction_dir = os.path.dirname(os.path.dirname( os.path.abspath(celaction.__file__) - ) + )) template_path = os.path.join( pype_celaction_dir, + "resources", "celaction_template_scene.scn" ) diff --git a/pype/hosts/celaction/celaction_template_scene.scn b/pype/hosts/celaction/resources/celaction_template_scene.scn similarity index 100% rename from pype/hosts/celaction/celaction_template_scene.scn rename to pype/hosts/celaction/resources/celaction_template_scene.scn From f1bf083dd52f35e88ffce2073c1ad66ff5d1bda0 Mon Sep 17 00:00:00 2001 From: Milan Kolar Date: Thu, 28 Jan 2021 17:28:10 +0100 Subject: [PATCH 21/26] move pymel imports to function to speed up loader menu in maya --- pype/hosts/maya/plugins/load/load_audio.py | 12 ++++--- .../maya/plugins/load/load_image_plane.py | 32 +++++++++++-------- 2 files changed, 26 insertions(+), 18 deletions(-) diff --git a/pype/hosts/maya/plugins/load/load_audio.py b/pype/hosts/maya/plugins/load/load_audio.py index 81bcca48e1..3e29f45bae 100644 --- a/pype/hosts/maya/plugins/load/load_audio.py +++ b/pype/hosts/maya/plugins/load/load_audio.py @@ -1,10 +1,7 @@ -from maya import cmds, mel -import pymel.core as pc - from avalon import api, io from avalon.maya.pipeline import containerise from avalon.maya import lib - +from maya import cmds, mel class AudioLoader(api.Loader): """Specific loader of audio.""" @@ -15,7 +12,10 @@ class AudioLoader(api.Loader): icon = "volume-up" color = "orange" + def load(self, context, name, namespace, data): + import pymel.core as pm + start_frame = cmds.playbackOptions(query=True, min=True) sound_node = cmds.sound( file=context["representation"]["data"]["path"], offset=start_frame @@ -43,8 +43,10 @@ class AudioLoader(api.Loader): ) def update(self, container, representation): + import pymel.core as pm + audio_node = None - for node in pc.PyNode(container["objectName"]).members(): + for node in pm.PyNode(container["objectName"]).members(): if node.nodeType() == "audio": audio_node = node diff --git a/pype/hosts/maya/plugins/load/load_image_plane.py b/pype/hosts/maya/plugins/load/load_image_plane.py index 1bb29e90c4..7596f7c322 100644 --- a/pype/hosts/maya/plugins/load/load_image_plane.py +++ b/pype/hosts/maya/plugins/load/load_image_plane.py @@ -1,11 +1,10 @@ -import pymel.core as pc -import maya.cmds as cmds - from avalon import api, io from avalon.maya.pipeline import containerise from avalon.maya import lib from Qt import QtWidgets, QtCore +from pype.hosts.maya.api import maya_imports + class CameraWindow(QtWidgets.QDialog): @@ -72,7 +71,11 @@ class ImagePlaneLoader(api.Loader): icon = "image" color = "orange" + + @maya_imports def load(self, context, name, namespace, data): + import pymel.core as pm + new_nodes = [] image_plane_depth = 1000 asset = context['asset']['name'] @@ -88,7 +91,7 @@ class ImagePlaneLoader(api.Loader): "frontShape", "perspShape", "sideShape", "topShape" ] cameras = [ - x for x in pc.ls(type="camera") if x.name() not in default_cameras + x for x in pm.ls(type="camera") if x.name() not in default_cameras ] camera_names = {x.getParent().name(): x for x in cameras} camera_names["Create new camera."] = "create_camera" @@ -97,7 +100,7 @@ class ImagePlaneLoader(api.Loader): camera = camera_names[window.camera] if camera == "create_camera": - camera = pc.createNode("camera") + camera = pm.createNode("camera") if camera is None: return @@ -109,7 +112,7 @@ class ImagePlaneLoader(api.Loader): pass # Create image plane - image_plane_transform, image_plane_shape = pc.imagePlane( + image_plane_transform, image_plane_shape = pm.imagePlane( camera=camera, showInAllViews=False ) image_plane_shape.depth.set(image_plane_depth) @@ -118,8 +121,8 @@ class ImagePlaneLoader(api.Loader): context["representation"]["data"]["path"] ) - start_frame = pc.playbackOptions(q=True, min=True) - end_frame = pc.playbackOptions(q=True, max=True) + start_frame = pm.playbackOptions(q=True, min=True) + end_frame = pm.playbackOptions(q=True, max=True) image_plane_shape.frameOffset.set(1 - start_frame) image_plane_shape.frameIn.set(start_frame) @@ -130,12 +133,12 @@ class ImagePlaneLoader(api.Loader): movie_representations = ["mov", "preview"] if context["representation"]["name"] in movie_representations: # Need to get "type" by string, because its a method as well. - pc.Attribute(image_plane_shape + ".type").set(2) + pm.Attribute(image_plane_shape + ".type").set(2) # Ask user whether to use sequence or still image. if context["representation"]["name"] == "exr": # Ensure OpenEXRLoader plugin is loaded. - pc.loadPlugin("OpenEXRLoader.mll", quiet=True) + pm.loadPlugin("OpenEXRLoader.mll", quiet=True) message = ( "Hold image sequence on first frame?" @@ -151,7 +154,7 @@ class ImagePlaneLoader(api.Loader): QtWidgets.QMessageBox.Cancel ) if reply == QtWidgets.QMessageBox.Ok: - pc.delete( + pm.delete( image_plane_shape.listConnections(type="expression")[0] ) image_plane_shape.frameExtension.set(start_frame) @@ -164,7 +167,7 @@ class ImagePlaneLoader(api.Loader): ) for node in new_nodes: - pc.rename(node, "{}:{}".format(namespace, node)) + pm.rename(node, "{}:{}".format(namespace, node)) return containerise( name=name, @@ -174,9 +177,11 @@ class ImagePlaneLoader(api.Loader): loader=self.__class__.__name__ ) + @maya_imports def update(self, container, representation): + import pymel.core as pm image_plane_shape = None - for node in pc.PyNode(container["objectName"]).members(): + for node in pm.PyNode(container["objectName"]).members(): if node.nodeType() == "imagePlane": image_plane_shape = node @@ -204,6 +209,7 @@ class ImagePlaneLoader(api.Loader): def switch(self, container, representation): self.update(container, representation) + @maya_imports def remove(self, container): members = cmds.sets(container['objectName'], query=True) cmds.lockNode(members, lock=False) From b7f4ad7bd238f07cbc4c0c98d92f22f648ea49c9 Mon Sep 17 00:00:00 2001 From: Milan Kolar Date: Thu, 28 Jan 2021 17:44:48 +0100 Subject: [PATCH 22/26] remove unused import --- pype/hosts/maya/plugins/load/load_audio.py | 1 - 1 file changed, 1 deletion(-) diff --git a/pype/hosts/maya/plugins/load/load_audio.py b/pype/hosts/maya/plugins/load/load_audio.py index 3e29f45bae..73a2a4f448 100644 --- a/pype/hosts/maya/plugins/load/load_audio.py +++ b/pype/hosts/maya/plugins/load/load_audio.py @@ -14,7 +14,6 @@ class AudioLoader(api.Loader): def load(self, context, name, namespace, data): - import pymel.core as pm start_frame = cmds.playbackOptions(query=True, min=True) sound_node = cmds.sound( From bf76cf7a140661ba6d55fdb234fcfb6894c5ddf2 Mon Sep 17 00:00:00 2001 From: Milan Kolar Date: Thu, 28 Jan 2021 17:46:11 +0100 Subject: [PATCH 23/26] remove unused decorator --- pype/hosts/maya/plugins/load/load_image_plane.py | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/pype/hosts/maya/plugins/load/load_image_plane.py b/pype/hosts/maya/plugins/load/load_image_plane.py index 7596f7c322..f2640dc2eb 100644 --- a/pype/hosts/maya/plugins/load/load_image_plane.py +++ b/pype/hosts/maya/plugins/load/load_image_plane.py @@ -3,7 +3,7 @@ from avalon.maya.pipeline import containerise from avalon.maya import lib from Qt import QtWidgets, QtCore -from pype.hosts.maya.api import maya_imports +from maya import cmds class CameraWindow(QtWidgets.QDialog): @@ -71,8 +71,6 @@ class ImagePlaneLoader(api.Loader): icon = "image" color = "orange" - - @maya_imports def load(self, context, name, namespace, data): import pymel.core as pm @@ -177,7 +175,6 @@ class ImagePlaneLoader(api.Loader): loader=self.__class__.__name__ ) - @maya_imports def update(self, container, representation): import pymel.core as pm image_plane_shape = None @@ -209,7 +206,6 @@ class ImagePlaneLoader(api.Loader): def switch(self, container, representation): self.update(container, representation) - @maya_imports def remove(self, container): members = cmds.sets(container['objectName'], query=True) cmds.lockNode(members, lock=False) From b9a2a41c1e75f03d563b5bce0c02041909e21052 Mon Sep 17 00:00:00 2001 From: Milan Kolar Date: Thu, 28 Jan 2021 17:47:20 +0100 Subject: [PATCH 24/26] unused import --- pype/hosts/maya/plugins/publish/validate_rig_output_ids.py | 1 - 1 file changed, 1 deletion(-) diff --git a/pype/hosts/maya/plugins/publish/validate_rig_output_ids.py b/pype/hosts/maya/plugins/publish/validate_rig_output_ids.py index 43d287ae97..37a50da910 100644 --- a/pype/hosts/maya/plugins/publish/validate_rig_output_ids.py +++ b/pype/hosts/maya/plugins/publish/validate_rig_output_ids.py @@ -4,7 +4,6 @@ import pyblish.api import pype.api import pype.hosts.maya.api.action -from pype.hosts.maya.api.lib import undo_chunk class ValidateRigOutputIds(pyblish.api.InstancePlugin): From 9523ab586c35578c68d65b2d767527fc9f851dad Mon Sep 17 00:00:00 2001 From: Petr Kalis Date: Fri, 29 Jan 2021 18:24:45 +0100 Subject: [PATCH 25/26] AE - modified pre launch hook to open last workfile TODO - opening from template, opening AE from frozen dist --- pype/hooks/aftereffects/pre_launch_args.py | 13 ++++++++++--- pype/hosts/aftereffects/template.aep | Bin 0 -> 52822 bytes 2 files changed, 10 insertions(+), 3 deletions(-) create mode 100644 pype/hosts/aftereffects/template.aep diff --git a/pype/hooks/aftereffects/pre_launch_args.py b/pype/hooks/aftereffects/pre_launch_args.py index 435893fbc0..00b3557429 100644 --- a/pype/hooks/aftereffects/pre_launch_args.py +++ b/pype/hooks/aftereffects/pre_launch_args.py @@ -20,16 +20,23 @@ class AfterEffectsPrelaunchHook(PreLaunchHook): while self.launch_context.launch_args: remainders.append(self.launch_context.launch_args.pop(0)) + workfile_path = self.data["last_workfile_path"] + if not os.path.exists(workfile_path): + workfile_path = "" + new_launch_args = [ self.python_executable(), "-c", ( "import avalon.aftereffects;" - "avalon.aftereffects.launch(\"{}\")" - ).format(aftereffects_executable.replace("\\", "\\\\")) + "avalon.aftereffects.launch(\"{}\", \"{}\")" + ).format( + aftereffects_executable.replace("\\", "\\\\"), + workfile_path.replace("\\", "\\\\") + ) ] - # Append as whole list as these areguments should not be separated + # Append as whole list as these arguments should not be separated self.launch_context.launch_args.append(new_launch_args) if remainders: diff --git a/pype/hosts/aftereffects/template.aep b/pype/hosts/aftereffects/template.aep new file mode 100644 index 0000000000000000000000000000000000000000..0857e418f301d0c219696ec848c0b6a773db824f GIT binary patch literal 52822 zcmeHQOKc=Z8Lshr?OpEzK_UrSbxaN`U_1|dcWukwUGI3DI9juo?F~y5wDfdW+s*cL zce>lJ2#FOS2$v`a4iE_`5>XCO5JG@BfXJQ@LL9gtAwVdCNF0!W69*&+e|1;&O!Z^j zGvjgAn<{Ch>-kspSASLgU-fH!W%)KjzxZ=?YwHPjSGEyC17o9Kzp#yE75tB&&!b03 z_#Onnoq^xu<~Am268wl8%;gX|e~x$u-bHW!{^IxRP}VHvvWx|&YfIRHOYcN%_K!K6KKdaNat zwKYSr{T%1si#T;}OD0mFi7fwP)%~hT>l*)}yeqqkquXA-G+7KJe*bIBmZ55@M@o*v zk2)ec$nm}ND;}=vx{4vmm#wR|0{#(}R}V^W2JL6D{*g3A;$jj5XA@)pH2b%+wC#fx zt8SOrS)Eg5&oy`I8&J&0ObJ@>8|WRVkwg(ViR%O1;*aFa{P^4}kihZLozm!bGD<(5IhaP;C#RnXvpd5r5o~r5%j@p5Zwnq z;%GkB2Y_{m`BEq&$V&eQ5L&{TykmG=bc;Ze99F+yESiC8)G(_jIES&*p1Ngws#}9X z&d2|)lLLQ$KkMH}LOkeqfdYdTlAgZya**NLy?5d{+lb*1TeDo<(=GE(F;zke zV*RwA(-HIM6qF;gMt6v%HZ3KABF0v)lw6HyPu;0QD4dreyvm20G&n@8)DRHy3B;0h ztQ^6q5fq4Vh;1mcL9B)rEY5* zU`4KDN0x5d#6)ouO-72~vmIEA?Y1UEe%hMnp90pm71;HmRYB9P8M^Bk+v*fxFpYjY z_Kzkkh`o0Xe#8zZe$F0;uZvcdD4eyEE$a&F+-<2TEWm1@-o^0B>V>((EEuFj>b0AI!MtAlL{f5~o9gjrfQp?^_8r!seamk<+0J z_B@wgu#qU75I#X{%i0dLL zz@$bW4`PCg2rd#n2cD{nEJ1J)h6FpNUB4CgXfcGMM^1;tJz5BTke?VCrrOaF7g^W0 zw%fQ#t5YsA7}O)!h+re2tq(FA`RUXCaAIsEI`d`?b2D_f&o8cwWV94R#Ke`6b`cY7 zBqL(t$_Pwm+&m?&jQEI%DWJFA`5tzHUc}lPm z9}&Su1RF_N)*)K3k!Ch>#;EXb(_$}{?TC$3c3fa1(z80=lhRlIux}1yBkYx4VFCI! ztuuT*L64rklJfSeF5jv(b|FP>%nBB7)e1W*lZRWon8nzlBptaY@U2?+Uw!k^HZ{6DX*jx8s|DAtqak7a?iHM1}YKgaMiMMJcj+f-fp5Ego-m;twdRMV&_d7A6 z+`K4wA;7{RB6y*Xh~R~S7qS^6eiXd0B`+MMh;_{i)Au*SJ~ey=EfHW!F-Hn`x0 z{D3}^kl=;w&x=jF)Pfg+7N+Ttc$O+{h;s9qc$Vq|^(F$2s7#6ldJ?|E^VY54I-$5;*rI<)Qv3E#@-8r|hFjYNF9cZ9?4#C*30|1- zE=Iu%nIawGu`Qhy*9-koE_flYfN44;cp;BdBgCzpf){?Ec;VyU-oVNYBltS)YoHUS z>6eIF@Iv&BhVF#E99cJ4W#=w-$meEL9rvB1gk0=9Ony?7IMVw_hgm%VQ+Uiyxzn@D zJ4lB=nIgB<9i*Y{DV{mXXi0^LiK{pn5xeQ=*o05g!*{R~MvxyBjEr2L<+=2WVd&S9 zZ_{VF21eevGlby3jqi%*(8m&56&=b6SsGE49VW@~GtnJ_CoS*pf#s<(M5gBDRyS%h z-fmPC^HJG<=m0Hpjyd=adpl?)T*r?!>5z!_xpb4wND-l*tWT`z1BOV|+|?av(YCSd zNV+MlW6i({_v)zb5CIK=Rj!Q@1>bb%mc_(gY8}aRgxyEdI(Otg#CB~$crpb$(uQ|n z;51txKyc`Pkrg&|PHNKF>jpMe>84GlKUebG7Cjrrkx@0wJW!tpT8r?Lplc71s(;92X z!_HI2VbG-YY%j2RU|LhdyV$7KYnJP_RGj1KDP`NS>UjBf%ci7{!6WV|*D`c$GBvs9nd6>+`oNZd& z_Z-)3xv&L2o7;}8JegKaGR&nV-2qc3g*Q;W>D2P|nf*g-)vU^(@49TX=%E0?k#BX- zKY_jJHW{46ydg>wy6*bt#95ux?gkj7iiI^zSIFcSqCq?qk?519spBF1E?LfhMEOK; zwdCubiM!cgQ@E~fV%L2L5o2e}DL_J?t^NOH2fHTBi)jibbPN#SR;f)#HeFkGu&ErR zz$Qjz0%Fp-Wf+#GC1|Xe$09nmVybvwvNW>w;>d~iN_RT;9=JAlU}8_(Bz9zr$o6+& zf|;M~*ucED3gSnu(KC+rj`!qHuh)U~yXT@JcmggxHgVJ#uY zV{A>UgqTxYo-nq5G z`t{Ql+1_X_1>qY+0{mhUDr=kM&6(l*H!JHmSDM18q6D>*vb0sCh2;mng;Ni73y(qD zhkvkex`s?_KM;(~%>^l$;({~%?UV$S=ve~t!uhJs@aAa{*BZi;9 zv9Y2pR$LvS;We5semI4e;*o8~gms4{2hq9E-?=9)cc@2lhtU(AH#005Z|?y5N|@TY zCoXpc{i<_uElQ4}Z?;IyniOyEY4k?c!foX{gLc}=pPV_~-Z4~2&e~<{I9l#fLUQr5 zJ(7E_M{+-e7Lre-%h(V1Xny#}k&L&vp7o>iU7j&19+!IrLWPKQ1hids7gEUz-mmGF z4aZy#X`XN3lh{qok`)>Yx2S-x4~=Q?PIT~%EmoyXy^amo$wHd7OY-%h9Qa_Z4y*!A z4@>K`^th(`rN^Ok#j4wutCM|hO%KcK&E;(-Racv&+J;{j()7B+d^Ty_7vR@$PYiyU z1_t58-htovJ>ZkTDd9ij26GTk*k<6azQcTQ1WcII^w#yf_uf6&t-O~@sE6#k_o3!` zAcnCp*`2%Fz-X-;3EuSd3#-Z4C+ zDY{C_=0F_-jo|IWWojP|5%~$OS9aV0dN-lAcB2~V#Y&E%k1}r;$GF@ffVX?s9}_W* zim|x%BjW8HN9hl`WS1Y8dlqeEFWyGZb3Kwf(j&PaIuf~Yd_UYHxgR+ax$zD?gUFs; zw=RyuX>_eyp-?_9_Z0e1Pvnjr$#{!5?U5eg5U)wZ93cY1KG*QOH`Y~WecQiN?GeyM zV#)X}_wwL>!IN8u8@J%-ukLhj?2zxDj{K68Yx;qgcT~>6jTNs>+Y#&qtsk-%)T_0A z2<7<}b`*+_<>4N!^&{xfj#|hUinn(F{guzsQ7A6=6u&vxk<_HQa#i{smzD*OTgfq+1u2?4s^F0E~@S2b^sFz%VAr2bDJ_s#LYv>g~(=4Yhdsk%JHgv^*8m_QwsWgmvMeZ#usOb_~NW~x#piFUpyvy$x?QRLQ&Bwh@PIRU7RhI ziUcvSs-D*2 zqc_fhKVZXgCOhdyV8%iQ&d_|uN?qIs2_$sE( z7r59)v%-?Jm>%!IY$ylvn~JB`vA2!QRtg`8@^eLn%ohSgdVrKG@8Yg-%BJYu;lvH; z7C1HZK-refEv#NCD3 Date: Mon, 1 Feb 2021 10:27:24 +0100 Subject: [PATCH 26/26] add empty arguments that were accidentally deleted --- pype/hosts/maya/api/__init__.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pype/hosts/maya/api/__init__.py b/pype/hosts/maya/api/__init__.py index c2506e3284..9caca205e6 100644 --- a/pype/hosts/maya/api/__init__.py +++ b/pype/hosts/maya/api/__init__.py @@ -124,12 +124,12 @@ def launch_workfiles_app(): workfiles.show(os.environ["AVALON_WORKDIR"]) -def on_before_save(return_code): +def on_before_save(return_code, _): """Run validation for scene's FPS prior to saving""" return lib.validate_fps() -def on_save(): +def on_save(_): """Automatically add IDs to new nodes Any transform of a mesh, without an existing ID, is given one @@ -147,7 +147,7 @@ def on_save(): lib.set_id(node, new_id, overwrite=False) -def on_open(): +def on_open(_): """On scene open let's assume the containers have changed.""" from avalon.vendor.Qt import QtWidgets