diff --git a/pype/fusion/__init__.py b/pype/fusion/__init__.py index b7b4b2d507..d6efaa54d3 100644 --- a/pype/fusion/__init__.py +++ b/pype/fusion/__init__.py @@ -24,9 +24,9 @@ def install(): pyblish.register_callback("instanceToggled", on_pyblish_instance_toggled) # Disable all families except for the ones we explicitly want to see - family_states = ["studio.imagesequence", - "studio.camera", - "studio.pointcache"] + family_states = ["imagesequence", + "camera", + "pointcache"] avalon.data["familiesStateDefault"] = False avalon.data["familiesStateToggled"] = family_states diff --git a/pype/houdini/__init__.py b/pype/houdini/__init__.py index 12bf0f2333..02309bde7f 100644 --- a/pype/houdini/__init__.py +++ b/pype/houdini/__init__.py @@ -41,7 +41,7 @@ def install(): log.info("Overriding existing event 'taskChanged'") log.info("Setting default family states for loader..") - avalon.data["familiesStateToggled"] = ["studio.imagesequence"] + avalon.data["familiesStateToggled"] = ["imagesequence"] def on_init(*args): diff --git a/pype/maya/__init__.py b/pype/maya/__init__.py index 2e21d6acec..10c4b938c4 100644 --- a/pype/maya/__init__.py +++ b/pype/maya/__init__.py @@ -52,7 +52,7 @@ def install(): override_event("taskChanged", on_task_changed) log.info("Setting default family states for loader..") - avalon.data["familiesStateToggled"] = ["studio.imagesequence"] + avalon.data["familiesStateToggled"] = ["imagesequence"] def uninstall(): diff --git a/pype/maya/lib.py b/pype/maya/lib.py index 5f5c929f96..ac3b40bf5e 100644 --- a/pype/maya/lib.py +++ b/pype/maya/lib.py @@ -1360,7 +1360,7 @@ def assign_look(nodes, subset="lookDefault"): version = io.find_one({"parent": subset_data['_id'], "type": "version", "data.families": - {"$in": ["studio.look"]} + {"$in": ["look"]} }, sort=[("name", -1)], projection={"_id": True, "name": True}) diff --git a/pype/maya/menu.json b/pype/maya/menu.json index 0c620d3e4c..b7161fb0ab 100644 --- a/pype/maya/menu.json +++ b/pype/maya/menu.json @@ -1,20 +1,20 @@ [{ "type": "action", - "command": "$COLORBLEED_SCRIPTS\\others\\save_scene_incremental.py", + "command": "$PYPE_SCRIPTS\\others\\save_scene_incremental.py", "sourcetype": "file", "title": "Version Up", "tooltip": "Incremental save with a specific format" }, { "type": "action", - "command": "$COLORBLEED_SCRIPTS\\others\\show_current_scene_in_explorer.py", + "command": "$PYPE_SCRIPTS\\others\\show_current_scene_in_explorer.py", "sourcetype": "file", "title": "Explore current scene..", "tooltip": "Show current scene in Explorer" }, { "type": "action", - "command": "$COLORBLEED_SCRIPTS\\avalon\\launch_manager.py", + "command": "$PYPE_SCRIPTS\\avalon\\launch_manager.py", "sourcetype": "file", "title": "Project Manager", "tooltip": "Add assets to the project" @@ -27,7 +27,7 @@ "title": "Modeling", "items": [{ "type": "action", - "command": "$COLORBLEED_SCRIPTS\\modeling\\duplicate_normalized.py", + "command": "$PYPE_SCRIPTS\\modeling\\duplicate_normalized.py", "sourcetype": "file", "tags": ["modeling", "duplicate", @@ -37,7 +37,7 @@ }, { "type": "action", - "command": "$COLORBLEED_SCRIPTS\\modeling\\transferUVs.py", + "command": "$PYPE_SCRIPTS\\modeling\\transferUVs.py", "sourcetype": "file", "tags": ["modeling", "transfer", @@ -47,7 +47,7 @@ }, { "type": "action", - "command": "$COLORBLEED_SCRIPTS\\modeling\\mirrorSymmetry.py", + "command": "$PYPE_SCRIPTS\\modeling\\mirrorSymmetry.py", "sourcetype": "file", "tags": ["modeling", "mirror", @@ -57,7 +57,7 @@ }, { "type": "action", - "command": "$COLORBLEED_SCRIPTS\\modeling\\selectOutlineUI.py", + "command": "$PYPE_SCRIPTS\\modeling\\selectOutlineUI.py", "sourcetype": "file", "tags": ["modeling", "select", @@ -68,7 +68,7 @@ }, { "type": "action", - "command": "$COLORBLEED_SCRIPTS\\modeling\\polyDeleteOtherUVSets.py", + "command": "$PYPE_SCRIPTS\\modeling\\polyDeleteOtherUVSets.py", "sourcetype": "file", "tags": ["modeling", "polygon", @@ -79,7 +79,7 @@ }, { "type": "action", - "command": "$COLORBLEED_SCRIPTS\\modeling\\polyCombineQuick.py", + "command": "$PYPE_SCRIPTS\\modeling\\polyCombineQuick.py", "sourcetype": "file", "tags": ["modeling", "combine", @@ -90,7 +90,7 @@ }, { "type": "action", - "command": "$COLORBLEED_SCRIPTS\\modeling\\separateMeshPerShader.py", + "command": "$PYPE_SCRIPTS\\modeling\\separateMeshPerShader.py", "sourcetype": "file", "tags": ["modeling", "separateMeshPerShader"], @@ -99,7 +99,7 @@ }, { "type": "action", - "command": "$COLORBLEED_SCRIPTS\\modeling\\polyDetachSeparate.py", + "command": "$PYPE_SCRIPTS\\modeling\\polyDetachSeparate.py", "sourcetype": "file", "tags": ["modeling", "poly", @@ -110,7 +110,7 @@ }, { "type": "action", - "command": "$COLORBLEED_SCRIPTS\\modeling\\polyRelaxVerts.py", + "command": "$PYPE_SCRIPTS\\modeling\\polyRelaxVerts.py", "sourcetype": "file", "tags": ["modeling", "relax", @@ -120,7 +120,7 @@ }, { "type": "action", - "command": "$COLORBLEED_SCRIPTS\\modeling\\polySelectEveryNthEdgeUI.py", + "command": "$PYPE_SCRIPTS\\modeling\\polySelectEveryNthEdgeUI.py", "sourcetype": "file", "tags": ["modeling", "select", @@ -131,7 +131,7 @@ }, { "type": "action", - "command": "$COLORBLEED_SCRIPTS\\modeling\\djPFXUVs.py", + "command": "$PYPE_SCRIPTS\\modeling\\djPFXUVs.py", "sourcetype": "file", "tags": ["modeling", "djPFX", @@ -145,7 +145,7 @@ "title": "Rigging", "items": [{ "type": "action", - "command": "$COLORBLEED_SCRIPTS\\rigging\\addCurveBetween.py", + "command": "$PYPE_SCRIPTS\\rigging\\addCurveBetween.py", "sourcetype": "file", "tags": ["rigging", "addCurveBetween", @@ -154,7 +154,7 @@ }, { "type": "action", - "command": "$COLORBLEED_SCRIPTS\\rigging\\averageSkinWeights.py", + "command": "$PYPE_SCRIPTS\\rigging\\averageSkinWeights.py", "sourcetype": "file", "tags": ["rigging", "average", @@ -164,7 +164,7 @@ }, { "type": "action", - "command": "$COLORBLEED_SCRIPTS\\rigging\\cbSmoothSkinWeightUI.py", + "command": "$PYPE_SCRIPTS\\rigging\\cbSmoothSkinWeightUI.py", "sourcetype": "file", "tags": ["rigging", "cbSmoothSkinWeightUI", @@ -173,7 +173,7 @@ }, { "type": "action", - "command": "$COLORBLEED_SCRIPTS\\rigging\\channelBoxManagerUI.py", + "command": "$PYPE_SCRIPTS\\rigging\\channelBoxManagerUI.py", "sourcetype": "file", "tags": ["rigging", "channelBoxManagerUI", @@ -182,7 +182,7 @@ }, { "type": "action", - "command": "$COLORBLEED_SCRIPTS\\rigging\\characterAutorigger.py", + "command": "$PYPE_SCRIPTS\\rigging\\characterAutorigger.py", "sourcetype": "file", "tags": ["rigging", "characterAutorigger", @@ -191,7 +191,7 @@ }, { "type": "action", - "command": "$COLORBLEED_SCRIPTS\\rigging\\connectUI.py", + "command": "$PYPE_SCRIPTS\\rigging\\connectUI.py", "sourcetype": "file", "tags": ["rigging", "connectUI", @@ -200,7 +200,7 @@ }, { "type": "action", - "command": "$COLORBLEED_SCRIPTS\\rigging\\copySkinWeightsLocal.py", + "command": "$PYPE_SCRIPTS\\rigging\\copySkinWeightsLocal.py", "sourcetype": "file", "tags": ["rigging", "copySkinWeightsLocal", @@ -209,7 +209,7 @@ }, { "type": "action", - "command": "$COLORBLEED_SCRIPTS\\rigging\\createCenterLocator.py", + "command": "$PYPE_SCRIPTS\\rigging\\createCenterLocator.py", "sourcetype": "file", "tags": ["rigging", "createCenterLocator", @@ -218,7 +218,7 @@ }, { "type": "action", - "command": "$COLORBLEED_SCRIPTS\\rigging\\freezeTransformToGroup.py", + "command": "$PYPE_SCRIPTS\\rigging\\freezeTransformToGroup.py", "sourcetype": "file", "tags": ["rigging", "freezeTransformToGroup", @@ -227,7 +227,7 @@ }, { "type": "action", - "command": "$COLORBLEED_SCRIPTS\\rigging\\groupSelected.py", + "command": "$PYPE_SCRIPTS\\rigging\\groupSelected.py", "sourcetype": "file", "tags": ["rigging", "groupSelected", @@ -236,7 +236,7 @@ }, { "type": "action", - "command": "$COLORBLEED_SCRIPTS\\rigging\\ikHandlePoleVectorLocator.py", + "command": "$PYPE_SCRIPTS\\rigging\\ikHandlePoleVectorLocator.py", "sourcetype": "file", "tags": ["rigging", "ikHandlePoleVectorLocator", @@ -245,7 +245,7 @@ }, { "type": "action", - "command": "$COLORBLEED_SCRIPTS\\rigging\\jointOrientUI.py", + "command": "$PYPE_SCRIPTS\\rigging\\jointOrientUI.py", "sourcetype": "file", "tags": ["rigging", "jointOrientUI", @@ -254,7 +254,7 @@ }, { "type": "action", - "command": "$COLORBLEED_SCRIPTS\\rigging\\jointsOnCurve.py", + "command": "$PYPE_SCRIPTS\\rigging\\jointsOnCurve.py", "sourcetype": "file", "tags": ["rigging", "jointsOnCurve", @@ -263,7 +263,7 @@ }, { "type": "action", - "command": "$COLORBLEED_SCRIPTS\\rigging\\resetBindSelectedSkinJoints.py", + "command": "$PYPE_SCRIPTS\\rigging\\resetBindSelectedSkinJoints.py", "sourcetype": "file", "tags": ["rigging", "resetBindSelectedSkinJoints", @@ -272,7 +272,7 @@ }, { "type": "action", - "command": "$COLORBLEED_SCRIPTS\\rigging\\selectSkinclusterJointsFromSelectedComponents.py", + "command": "$PYPE_SCRIPTS\\rigging\\selectSkinclusterJointsFromSelectedComponents.py", "sourcetype": "file", "tags": ["rigging", "selectSkinclusterJointsFromSelectedComponents", @@ -281,7 +281,7 @@ }, { "type": "action", - "command": "$COLORBLEED_SCRIPTS\\rigging\\selectSkinclusterJointsFromSelectedMesh.py", + "command": "$PYPE_SCRIPTS\\rigging\\selectSkinclusterJointsFromSelectedMesh.py", "sourcetype": "file", "tags": ["rigging", "selectSkinclusterJointsFromSelectedMesh", @@ -290,7 +290,7 @@ }, { "type": "action", - "command": "$COLORBLEED_SCRIPTS\\rigging\\setJointLabels.py", + "command": "$PYPE_SCRIPTS\\rigging\\setJointLabels.py", "sourcetype": "file", "tags": ["rigging", "setJointLabels", @@ -299,7 +299,7 @@ }, { "type": "action", - "command": "$COLORBLEED_SCRIPTS\\rigging\\setJointOrientationFromCurrentRotation.py", + "command": "$PYPE_SCRIPTS\\rigging\\setJointOrientationFromCurrentRotation.py", "sourcetype": "file", "tags": ["rigging", "setJointOrientationFromCurrentRotation", @@ -308,7 +308,7 @@ }, { "type": "action", - "command": "$COLORBLEED_SCRIPTS\\rigging\\setSelectedJointsOrientationZero.py", + "command": "$PYPE_SCRIPTS\\rigging\\setSelectedJointsOrientationZero.py", "sourcetype": "file", "tags": ["rigging", "setSelectedJointsOrientationZero", @@ -317,7 +317,7 @@ }, { "type": "action", - "command": "$COLORBLEED_SCRIPTS\\rigging\\mirrorCurveShape.py", + "command": "$PYPE_SCRIPTS\\rigging\\mirrorCurveShape.py", "sourcetype": "file", "tags": ["rigging", "mirrorCurveShape", @@ -326,7 +326,7 @@ }, { "type": "action", - "command": "$COLORBLEED_SCRIPTS\\rigging\\setRotationOrderUI.py", + "command": "$PYPE_SCRIPTS\\rigging\\setRotationOrderUI.py", "sourcetype": "file", "tags": ["rigging", "setRotationOrderUI", @@ -335,7 +335,7 @@ }, { "type": "action", - "command": "$COLORBLEED_SCRIPTS\\rigging\\paintItNowUI.py", + "command": "$PYPE_SCRIPTS\\rigging\\paintItNowUI.py", "sourcetype": "file", "tags": ["rigging", "paintItNowUI", @@ -344,7 +344,7 @@ }, { "type": "action", - "command": "$COLORBLEED_SCRIPTS\\rigging\\parentScaleConstraint.py", + "command": "$PYPE_SCRIPTS\\rigging\\parentScaleConstraint.py", "sourcetype": "file", "tags": ["rigging", "parentScaleConstraint", @@ -353,7 +353,7 @@ }, { "type": "action", - "command": "$COLORBLEED_SCRIPTS\\rigging\\quickSetWeightsUI.py", + "command": "$PYPE_SCRIPTS\\rigging\\quickSetWeightsUI.py", "sourcetype": "file", "tags": ["rigging", "quickSetWeightsUI", @@ -362,7 +362,7 @@ }, { "type": "action", - "command": "$COLORBLEED_SCRIPTS\\rigging\\rapidRig.py", + "command": "$PYPE_SCRIPTS\\rigging\\rapidRig.py", "sourcetype": "file", "tags": ["rigging", "rapidRig", @@ -371,7 +371,7 @@ }, { "type": "action", - "command": "$COLORBLEED_SCRIPTS\\rigging\\regenerate_blendshape_targets.py", + "command": "$PYPE_SCRIPTS\\rigging\\regenerate_blendshape_targets.py", "sourcetype": "file", "tags": ["rigging", "regenerate_blendshape_targets", @@ -380,7 +380,7 @@ }, { "type": "action", - "command": "$COLORBLEED_SCRIPTS\\rigging\\removeRotationAxis.py", + "command": "$PYPE_SCRIPTS\\rigging\\removeRotationAxis.py", "sourcetype": "file", "tags": ["rigging", "removeRotationAxis", @@ -389,7 +389,7 @@ }, { "type": "action", - "command": "$COLORBLEED_SCRIPTS\\rigging\\resetBindSelectedMeshes.py", + "command": "$PYPE_SCRIPTS\\rigging\\resetBindSelectedMeshes.py", "sourcetype": "file", "tags": ["rigging", "resetBindSelectedMeshes", @@ -398,7 +398,7 @@ }, { "type": "action", - "command": "$COLORBLEED_SCRIPTS\\rigging\\simpleControllerOnSelection.py", + "command": "$PYPE_SCRIPTS\\rigging\\simpleControllerOnSelection.py", "sourcetype": "file", "tags": ["rigging", "simpleControllerOnSelection", @@ -407,7 +407,7 @@ }, { "type": "action", - "command": "$COLORBLEED_SCRIPTS\\rigging\\simpleControllerOnSelectionHierarchy.py", + "command": "$PYPE_SCRIPTS\\rigging\\simpleControllerOnSelectionHierarchy.py", "sourcetype": "file", "tags": ["rigging", "simpleControllerOnSelectionHierarchy", @@ -416,7 +416,7 @@ }, { "type": "action", - "command": "$COLORBLEED_SCRIPTS\\rigging\\superRelativeCluster.py", + "command": "$PYPE_SCRIPTS\\rigging\\superRelativeCluster.py", "sourcetype": "file", "tags": ["rigging", "superRelativeCluster", @@ -425,7 +425,7 @@ }, { "type": "action", - "command": "$COLORBLEED_SCRIPTS\\rigging\\tfSmoothSkinWeight.py", + "command": "$PYPE_SCRIPTS\\rigging\\tfSmoothSkinWeight.py", "sourcetype": "file", "tags": ["rigging", "tfSmoothSkinWeight", @@ -434,7 +434,7 @@ }, { "type": "action", - "command": "$COLORBLEED_SCRIPTS\\rigging\\toggleIntermediates.py", + "command": "$PYPE_SCRIPTS\\rigging\\toggleIntermediates.py", "sourcetype": "file", "tags": ["rigging", "toggleIntermediates", @@ -443,7 +443,7 @@ }, { "type": "action", - "command": "$COLORBLEED_SCRIPTS\\rigging\\toggleSegmentScaleCompensate.py", + "command": "$PYPE_SCRIPTS\\rigging\\toggleSegmentScaleCompensate.py", "sourcetype": "file", "tags": ["rigging", "toggleSegmentScaleCompensate", @@ -452,7 +452,7 @@ }, { "type": "action", - "command": "$COLORBLEED_SCRIPTS\\rigging\\toggleSkinclusterDeformNormals.py", + "command": "$PYPE_SCRIPTS\\rigging\\toggleSkinclusterDeformNormals.py", "sourcetype": "file", "tags": ["rigging", "toggleSkinclusterDeformNormals", @@ -469,7 +469,7 @@ "items": [{ "type": "action", "title": "Import Proxies", - "command": "$COLORBLEED_SCRIPTS\\shading\\vray\\vrayImportProxies.py", + "command": "$PYPE_SCRIPTS\\shading\\vray\\vrayImportProxies.py", "sourcetype": "file", "tags": ["shading", "vray", @@ -483,7 +483,7 @@ { "type": "action", "title": "Select All GES", - "command": "$COLORBLEED_SCRIPTS\\shading\\vray\\selectAllGES.py", + "command": "$PYPE_SCRIPTS\\shading\\vray\\selectAllGES.py", "sourcetype": "file", "tooltip": "", "tags": ["shading", @@ -493,7 +493,7 @@ { "type": "action", "title": "Select All GES Under Selection", - "command": "$COLORBLEED_SCRIPTS\\shading\\vray\\selectAllGESUnderSelection.py", + "command": "$PYPE_SCRIPTS\\shading\\vray\\selectAllGESUnderSelection.py", "sourcetype": "file", "tooltip": "", "tags": ["shading", @@ -508,7 +508,7 @@ { "type": "action", "title": "Selection To VRay Mesh", - "command": "$COLORBLEED_SCRIPTS\\shading\\vray\\selectionToVrayMesh.py", + "command": "$PYPE_SCRIPTS\\shading\\vray\\selectionToVrayMesh.py", "sourcetype": "file", "tooltip": "", "tags": ["shading", @@ -519,7 +519,7 @@ { "type": "action", "title": "Add VRay Round Edges Attribute", - "command": "$COLORBLEED_SCRIPTS\\shading\\vray\\addVrayRoundEdgesAttribute.py", + "command": "$PYPE_SCRIPTS\\shading\\vray\\addVrayRoundEdgesAttribute.py", "sourcetype": "file", "tooltip": "", "tags": ["shading", @@ -530,7 +530,7 @@ { "type": "action", "title": "Add Gamma", - "command": "$COLORBLEED_SCRIPTS\\shading\\vray\\vrayAddGamma.py", + "command": "$PYPE_SCRIPTS\\shading\\vray\\vrayAddGamma.py", "sourcetype": "file", "tooltip": "", "tags": ["shading", @@ -542,7 +542,7 @@ }, { "type": "action", - "command": "$COLORBLEED_SCRIPTS\\shading\\vray\\select_vraymesh_materials_with_unconnected_shader_slots.py", + "command": "$PYPE_SCRIPTS\\shading\\vray\\select_vraymesh_materials_with_unconnected_shader_slots.py", "sourcetype": "file", "title": "Select Unconnected Shader Materials", "tags": ["shading", @@ -555,7 +555,7 @@ }, { "type": "action", - "command": "$COLORBLEED_SCRIPTS\\shading\\vray\\vrayMergeSimilarVRayMeshMaterials.py", + "command": "$PYPE_SCRIPTS\\shading\\vray\\vrayMergeSimilarVRayMeshMaterials.py", "sourcetype": "file", "title": "Merge Similar VRay Mesh Materials", "tags": ["shading", @@ -568,7 +568,7 @@ { "type": "action", "title": "Create Two Sided Material", - "command": "$COLORBLEED_SCRIPTS\\shading\\vray\\vrayCreate2SidedMtlForSelectedMtlRenamed.py", + "command": "$PYPE_SCRIPTS\\shading\\vray\\vrayCreate2SidedMtlForSelectedMtlRenamed.py", "sourcetype": "file", "tooltip": "Creates two sided material for selected material and renames it", "tags": ["shading", @@ -579,7 +579,7 @@ { "type": "action", "title": "Create Two Sided Material For Selected", - "command": "$COLORBLEED_SCRIPTS\\shading\\vray\\vrayCreate2SidedMtlForSelectedMtl.py", + "command": "$PYPE_SCRIPTS\\shading\\vray\\vrayCreate2SidedMtlForSelectedMtl.py", "sourcetype": "file", "tooltip": "Select material to create a two sided version from it", "tags": ["shading", @@ -592,7 +592,7 @@ { "type": "action", "title": "Add OpenSubdiv Attribute", - "command": "$COLORBLEED_SCRIPTS\\shading\\vray\\addVrayOpenSubdivAttribute.py", + "command": "$PYPE_SCRIPTS\\shading\\vray\\addVrayOpenSubdivAttribute.py", "sourcetype": "file", "tooltip": "", "tags": ["shading", @@ -604,7 +604,7 @@ { "type": "action", "title": "Remove OpenSubdiv Attribute", - "command": "$COLORBLEED_SCRIPTS\\shading\\vray\\removeVrayOpenSubdivAttribute.py", + "command": "$PYPE_SCRIPTS\\shading\\vray\\removeVrayOpenSubdivAttribute.py", "sourcetype": "file", "tooltip": "", "tags": ["shading", @@ -619,7 +619,7 @@ { "type": "action", "title": "Add Subdivision Attribute", - "command": "$COLORBLEED_SCRIPTS\\shading\\vray\\addVraySubdivisionAttribute.py", + "command": "$PYPE_SCRIPTS\\shading\\vray\\addVraySubdivisionAttribute.py", "sourcetype": "file", "tooltip": "", "tags": ["shading", @@ -629,7 +629,7 @@ { "type": "action", "title": "Remove Subdivision Attribute.py", - "command": "$COLORBLEED_SCRIPTS\\shading\\vray\\removeVraySubdivisionAttribute.py", + "command": "$PYPE_SCRIPTS\\shading\\vray\\removeVraySubdivisionAttribute.py", "sourcetype": "file", "tooltip": "", "tags": ["shading", @@ -644,7 +644,7 @@ { "type": "action", "title": "Add Vray Object Ids", - "command": "$COLORBLEED_SCRIPTS\\shading\\vray\\addVrayObjectIds.py", + "command": "$PYPE_SCRIPTS\\shading\\vray\\addVrayObjectIds.py", "sourcetype": "file", "tooltip": "", "tags": ["shading", @@ -655,7 +655,7 @@ { "type": "action", "title": "Add Vray Material Ids", - "command": "$COLORBLEED_SCRIPTS\\shading\\vray\\addVrayMaterialIds.py", + "command": "$PYPE_SCRIPTS\\shading\\vray\\addVrayMaterialIds.py", "sourcetype": "file", "tooltip": "", "tags": ["shading", @@ -668,7 +668,7 @@ { "type": "action", "title": "Set Physical DOF Depth", - "command": "$COLORBLEED_SCRIPTS\\shading\\vray\\vrayPhysicalDOFSetDepth.py", + "command": "$PYPE_SCRIPTS\\shading\\vray\\vrayPhysicalDOFSetDepth.py", "sourcetype": "file", "tooltip": "", "tags": ["shading", @@ -680,7 +680,7 @@ { "type": "action", "title": "Magic Vray Proxy UI", - "command": "$COLORBLEED_SCRIPTS\\shading\\vray\\magicVrayProxyUI.py", + "command": "$PYPE_SCRIPTS\\shading\\vray\\magicVrayProxyUI.py", "sourcetype": "file", "tooltip": "", "tags": ["shading", @@ -690,7 +690,7 @@ }, { "type": "action", - "command": "$COLORBLEED_SCRIPTS\\pyblish\\lighting\\set_filename_prefix.py", + "command": "$PYPE_SCRIPTS\\pyblish\\lighting\\set_filename_prefix.py", "sourcetype": "file", "tags": ["shading", "lookdev", @@ -704,7 +704,7 @@ }, { "type": "action", - "command": "$COLORBLEED_SCRIPTS\\shading\\look_manager_ui.py", + "command": "$PYPE_SCRIPTS\\shading\\look_manager_ui.py", "sourcetype": "file", "tags": ["shading", "look", @@ -716,7 +716,7 @@ }, { "type": "action", - "command": "$COLORBLEED_SCRIPTS\\shading\\LightLinkUi.py", + "command": "$PYPE_SCRIPTS\\shading\\LightLinkUi.py", "sourcetype": "file", "tags": ["shading", "light", @@ -727,7 +727,7 @@ }, { "type": "action", - "command": "$COLORBLEED_SCRIPTS\\shading\\vdviewer_ui.py", + "command": "$PYPE_SCRIPTS\\shading\\vdviewer_ui.py", "sourcetype": "file", "tags": ["shading", "look", @@ -740,7 +740,7 @@ }, { "type": "action", - "command": "$COLORBLEED_SCRIPTS\\shading\\setTexturePreviewToCLRImage.py", + "command": "$PYPE_SCRIPTS\\shading\\setTexturePreviewToCLRImage.py", "sourcetype": "file", "tags": ["shading", "CLRImage", @@ -751,7 +751,7 @@ }, { "type": "action", - "command": "$COLORBLEED_SCRIPTS\\shading\\fixDefaultShaderSetBehavior.py", + "command": "$PYPE_SCRIPTS\\shading\\fixDefaultShaderSetBehavior.py", "sourcetype": "file", "tags": ["shading", "fix", @@ -762,7 +762,7 @@ }, { "type": "action", - "command": "$COLORBLEED_SCRIPTS\\shading\\fixSelectedShapesReferenceAssignments.py", + "command": "$PYPE_SCRIPTS\\shading\\fixSelectedShapesReferenceAssignments.py", "sourcetype": "file", "tags": ["shading", "fix", @@ -775,7 +775,7 @@ }, { "type": "action", - "command": "$COLORBLEED_SCRIPTS\\shading\\selectLambert1Members.py", + "command": "$PYPE_SCRIPTS\\shading\\selectLambert1Members.py", "sourcetype": "file", "tags": ["shading", "selectLambert1Members"], @@ -784,7 +784,7 @@ }, { "type": "action", - "command": "$COLORBLEED_SCRIPTS\\shading\\selectShapesWithoutShader.py", + "command": "$PYPE_SCRIPTS\\shading\\selectShapesWithoutShader.py", "sourcetype": "file", "tags": ["shading", "selectShapesWithoutShader"], @@ -793,7 +793,7 @@ }, { "type": "action", - "command": "$COLORBLEED_SCRIPTS\\shading\\fixRenderLayerOutAdjustmentErrors.py", + "command": "$PYPE_SCRIPTS\\shading\\fixRenderLayerOutAdjustmentErrors.py", "sourcetype": "file", "tags": ["shading", "fixRenderLayerOutAdjustmentErrors"], @@ -802,7 +802,7 @@ }, { "type": "action", - "command": "$COLORBLEED_SCRIPTS\\shading\\fix_renderlayer_missing_node_override.py", + "command": "$PYPE_SCRIPTS\\shading\\fix_renderlayer_missing_node_override.py", "sourcetype": "file", "tags": ["shading", "renderlayer", @@ -816,7 +816,7 @@ { "type": "action", "title": "Image 2 Tiled EXR", - "command": "$COLORBLEED_SCRIPTS\\shading\\open_img2exr.py", + "command": "$PYPE_SCRIPTS\\shading\\open_img2exr.py", "sourcetype": "file", "tooltip": "", "tags": ["shading", @@ -829,7 +829,7 @@ "title": "Rendering", "items": [{ "type": "action", - "command": "$COLORBLEED_SCRIPTS\\pyblish\\open_deadline_submission_settings.py", + "command": "$PYPE_SCRIPTS\\pyblish\\open_deadline_submission_settings.py", "sourcetype": "file", "tags": ["settings", "deadline", @@ -848,7 +848,7 @@ "tooltip": "", "items": [{ "type": "action", - "command": "$COLORBLEED_SCRIPTS\\animation\\attributes\\copyValues.py", + "command": "$PYPE_SCRIPTS\\animation\\attributes\\copyValues.py", "sourcetype": "file", "tags": ["animation", "copy", @@ -858,7 +858,7 @@ }, { "type": "action", - "command": "$COLORBLEED_SCRIPTS\\animation\\attributes\\copyInConnections.py", + "command": "$PYPE_SCRIPTS\\animation\\attributes\\copyInConnections.py", "sourcetype": "file", "tags": ["animation", "copy", @@ -870,7 +870,7 @@ }, { "type": "action", - "command": "$COLORBLEED_SCRIPTS\\animation\\attributes\\copyOutConnections.py", + "command": "$PYPE_SCRIPTS\\animation\\attributes\\copyOutConnections.py", "sourcetype": "file", "tags": ["animation", "copy", @@ -882,7 +882,7 @@ }, { "type": "action", - "command": "$COLORBLEED_SCRIPTS\\animation\\attributes\\copyTransformLocal.py", + "command": "$PYPE_SCRIPTS\\animation\\attributes\\copyTransformLocal.py", "sourcetype": "file", "tags": ["animation", "copy", @@ -894,7 +894,7 @@ }, { "type": "action", - "command": "$COLORBLEED_SCRIPTS\\animation\\attributes\\copyTransformMatrix.py", + "command": "$PYPE_SCRIPTS\\animation\\attributes\\copyTransformMatrix.py", "sourcetype": "file", "tags": ["animation", "copy", @@ -906,7 +906,7 @@ }, { "type": "action", - "command": "$COLORBLEED_SCRIPTS\\animation\\attributes\\copyTransformUI.py", + "command": "$PYPE_SCRIPTS\\animation\\attributes\\copyTransformUI.py", "sourcetype": "file", "tags": ["animation", "copy", @@ -918,7 +918,7 @@ }, { "type": "action", - "command": "$COLORBLEED_SCRIPTS\\animation\\attributes\\simpleCopyUI.py", + "command": "$PYPE_SCRIPTS\\animation\\attributes\\simpleCopyUI.py", "sourcetype": "file", "tags": ["animation", "copy", @@ -936,7 +936,7 @@ "tooltip": "Optimization scripts", "items": [{ "type": "action", - "command": "$COLORBLEED_SCRIPTS\\animation\\optimize\\toggleFreezeHierarchy.py", + "command": "$PYPE_SCRIPTS\\animation\\optimize\\toggleFreezeHierarchy.py", "sourcetype": "file", "tags": ["animation", "hierarchy", @@ -947,7 +947,7 @@ }, { "type": "action", - "command": "$COLORBLEED_SCRIPTS\\animation\\optimize\\toggleParallelNucleus.py", + "command": "$PYPE_SCRIPTS\\animation\\optimize\\toggleParallelNucleus.py", "sourcetype": "file", "tags": ["animation", "nucleus", @@ -959,7 +959,7 @@ }, { "sourcetype": "file", - "command": "$COLORBLEED_SCRIPTS\\animation\\bakeSelectedToWorldSpace.py", + "command": "$PYPE_SCRIPTS\\animation\\bakeSelectedToWorldSpace.py", "tags": ["animation", "bake", "selection", @@ -969,7 +969,7 @@ }, { "sourcetype": "file", - "command": "$COLORBLEED_SCRIPTS\\animation\\timeStepper.py", + "command": "$PYPE_SCRIPTS\\animation\\timeStepper.py", "tags": ["animation", "time", "stepper"], @@ -978,7 +978,7 @@ }, { "sourcetype": "file", - "command": "$COLORBLEED_SCRIPTS\\animation\\capture_ui.py", + "command": "$PYPE_SCRIPTS\\animation\\capture_ui.py", "tags": ["animation", "capture", "ui", @@ -990,7 +990,7 @@ }, { "sourcetype": "file", - "command": "$COLORBLEED_SCRIPTS\\animation\\simplePlayblastUI.py", + "command": "$PYPE_SCRIPTS\\animation\\simplePlayblastUI.py", "tags": ["animation", "simple", "playblast", @@ -1000,7 +1000,7 @@ }, { "sourcetype": "file", - "command": "$COLORBLEED_SCRIPTS\\animation\\tweenMachineUI.py", + "command": "$PYPE_SCRIPTS\\animation\\tweenMachineUI.py", "tags": ["animation", "tween", "machine"], @@ -1009,7 +1009,7 @@ }, { "sourcetype": "file", - "command": "$COLORBLEED_SCRIPTS\\animation\\selectAllAnimationCurves.py", + "command": "$PYPE_SCRIPTS\\animation\\selectAllAnimationCurves.py", "tags": ["animation", "select", "curves"], @@ -1018,7 +1018,7 @@ }, { "sourcetype": "file", - "command": "$COLORBLEED_SCRIPTS\\animation\\pathAnimation.py", + "command": "$PYPE_SCRIPTS\\animation\\pathAnimation.py", "tags": ["animation", "path", "along"], @@ -1027,7 +1027,7 @@ }, { "sourcetype": "file", - "command": "$COLORBLEED_SCRIPTS\\animation\\offsetSelectedObjectsUI.py", + "command": "$PYPE_SCRIPTS\\animation\\offsetSelectedObjectsUI.py", "tags": ["animation", "offsetSelectedObjectsUI.py"], "title": "Offset Selected Objects UI", @@ -1035,7 +1035,7 @@ }, { "sourcetype": "file", - "command": "$COLORBLEED_SCRIPTS\\animation\\key_amplifier_ui.py", + "command": "$PYPE_SCRIPTS\\animation\\key_amplifier_ui.py", "tags": ["animation", "key", "amplifier"], @@ -1044,7 +1044,7 @@ }, { "sourcetype": "file", - "command": "$COLORBLEED_SCRIPTS\\animation\\anim_scene_optimizer.py", + "command": "$PYPE_SCRIPTS\\animation\\anim_scene_optimizer.py", "tags": ["animation", "anim_scene_optimizer.py"], "title": "Anim_Scene_Optimizer", @@ -1052,7 +1052,7 @@ }, { "sourcetype": "file", - "command": "$COLORBLEED_SCRIPTS\\animation\\zvParentMaster.py", + "command": "$PYPE_SCRIPTS\\animation\\zvParentMaster.py", "tags": ["animation", "zvParentMaster.py"], "title": "ZV Parent Master", @@ -1060,7 +1060,7 @@ }, { "sourcetype": "file", - "command": "$COLORBLEED_SCRIPTS\\animation\\poseLibrary.py", + "command": "$PYPE_SCRIPTS\\animation\\poseLibrary.py", "tags": ["animation", "poseLibrary.py"], "title": "Pose Library", @@ -1072,7 +1072,7 @@ "title": "Layout", "items": [{ "type": "action", - "command": "$COLORBLEED_SCRIPTS\\layout\\alignDistributeUI.py", + "command": "$PYPE_SCRIPTS\\layout\\alignDistributeUI.py", "sourcetype": "file", "tags": ["layout", "align", @@ -1083,7 +1083,7 @@ }, { "type": "action", - "command": "$COLORBLEED_SCRIPTS\\layout\\alignSimpleUI.py", + "command": "$PYPE_SCRIPTS\\layout\\alignSimpleUI.py", "sourcetype": "file", "tags": ["layout", "align", @@ -1094,7 +1094,7 @@ }, { "type": "action", - "command": "$COLORBLEED_SCRIPTS\\layout\\center_locator.py", + "command": "$PYPE_SCRIPTS\\layout\\center_locator.py", "sourcetype": "file", "tags": ["layout", "center", @@ -1104,7 +1104,7 @@ }, { "type": "action", - "command": "$COLORBLEED_SCRIPTS\\layout\\average_locator.py", + "command": "$PYPE_SCRIPTS\\layout\\average_locator.py", "sourcetype": "file", "tags": ["layout", "average", @@ -1114,7 +1114,7 @@ }, { "type": "action", - "command": "$COLORBLEED_SCRIPTS\\layout\\selectWithinProximityUI.py", + "command": "$PYPE_SCRIPTS\\layout\\selectWithinProximityUI.py", "sourcetype": "file", "tags": ["layout", "select", @@ -1125,7 +1125,7 @@ }, { "type": "action", - "command": "$COLORBLEED_SCRIPTS\\layout\\dupCurveUI.py", + "command": "$PYPE_SCRIPTS\\layout\\dupCurveUI.py", "sourcetype": "file", "tags": ["layout", "Duplicate", @@ -1136,7 +1136,7 @@ }, { "type": "action", - "command": "$COLORBLEED_SCRIPTS\\layout\\randomDeselectUI.py", + "command": "$PYPE_SCRIPTS\\layout\\randomDeselectUI.py", "sourcetype": "file", "tags": ["layout", "random", @@ -1147,7 +1147,7 @@ }, { "type": "action", - "command": "$COLORBLEED_SCRIPTS\\layout\\multiReferencerUI.py", + "command": "$PYPE_SCRIPTS\\layout\\multiReferencerUI.py", "sourcetype": "file", "tags": ["layout", "multi", @@ -1157,7 +1157,7 @@ }, { "type": "action", - "command": "$COLORBLEED_SCRIPTS\\layout\\duplicateOffsetUI.py", + "command": "$PYPE_SCRIPTS\\layout\\duplicateOffsetUI.py", "sourcetype": "file", "tags": ["layout", "duplicate", @@ -1168,7 +1168,7 @@ }, { "type": "action", - "command": "$COLORBLEED_SCRIPTS\\layout\\spPaint3d.py", + "command": "$PYPE_SCRIPTS\\layout\\spPaint3d.py", "sourcetype": "file", "tags": ["layout", "spPaint3d", @@ -1179,7 +1179,7 @@ }, { "type": "action", - "command": "$COLORBLEED_SCRIPTS\\layout\\randomizeUI.py", + "command": "$PYPE_SCRIPTS\\layout\\randomizeUI.py", "sourcetype": "file", "tags": ["layout", "randomize", @@ -1189,7 +1189,7 @@ }, { "type": "action", - "command": "$COLORBLEED_SCRIPTS\\layout\\distributeWithinObjectUI.py", + "command": "$PYPE_SCRIPTS\\layout\\distributeWithinObjectUI.py", "sourcetype": "file", "tags": ["layout", "distribute", @@ -1204,7 +1204,7 @@ "title": "Particles", "items": [{ "type": "action", - "command": "$COLORBLEED_SCRIPTS\\particles\\instancerToObjects.py", + "command": "$PYPE_SCRIPTS\\particles\\instancerToObjects.py", "sourcetype": "file", "tags": ["particles", "instancerToObjects"], @@ -1213,7 +1213,7 @@ }, { "type": "action", - "command": "$COLORBLEED_SCRIPTS\\particles\\instancerToObjectsInstances.py", + "command": "$PYPE_SCRIPTS\\particles\\instancerToObjectsInstances.py", "sourcetype": "file", "tags": ["particles", "instancerToObjectsInstances"], @@ -1222,7 +1222,7 @@ }, { "type": "action", - "command": "$COLORBLEED_SCRIPTS\\particles\\objectsToParticlesAndInstancerCleanSource.py", + "command": "$PYPE_SCRIPTS\\particles\\objectsToParticlesAndInstancerCleanSource.py", "sourcetype": "file", "tags": ["particles", "objects", @@ -1235,7 +1235,7 @@ }, { "type": "action", - "command": "$COLORBLEED_SCRIPTS\\particles\\particleComponentsToLocators.py", + "command": "$PYPE_SCRIPTS\\particles\\particleComponentsToLocators.py", "sourcetype": "file", "tags": ["particles", "components", @@ -1245,7 +1245,7 @@ }, { "type": "action", - "command": "$COLORBLEED_SCRIPTS\\particles\\objectsToParticlesAndInstancer.py", + "command": "$PYPE_SCRIPTS\\particles\\objectsToParticlesAndInstancer.py", "sourcetype": "file", "tags": ["particles", "objects", @@ -1256,7 +1256,7 @@ }, { "type": "action", - "command": "$COLORBLEED_SCRIPTS\\particles\\spawnParticlesOnMesh.py", + "command": "$PYPE_SCRIPTS\\particles\\spawnParticlesOnMesh.py", "sourcetype": "file", "tags": ["particles", "spawn", @@ -1267,7 +1267,7 @@ }, { "type": "action", - "command": "$COLORBLEED_SCRIPTS\\particles\\instancerToObjectsInstancesWithAnimation.py", + "command": "$PYPE_SCRIPTS\\particles\\instancerToObjectsInstancesWithAnimation.py", "sourcetype": "file", "tags": ["particles", "instancerToObjectsInstancesWithAnimation"], @@ -1276,7 +1276,7 @@ }, { "type": "action", - "command": "$COLORBLEED_SCRIPTS\\particles\\objectsToParticles.py", + "command": "$PYPE_SCRIPTS\\particles\\objectsToParticles.py", "sourcetype": "file", "tags": ["particles", "objectsToParticles"], @@ -1285,7 +1285,7 @@ }, { "type": "action", - "command": "$COLORBLEED_SCRIPTS\\particles\\add_particle_cacheFile_attrs.py", + "command": "$PYPE_SCRIPTS\\particles\\add_particle_cacheFile_attrs.py", "sourcetype": "file", "tags": ["particles", "add_particle_cacheFile_attrs"], @@ -1294,7 +1294,7 @@ }, { "type": "action", - "command": "$COLORBLEED_SCRIPTS\\particles\\mergeParticleSystems.py", + "command": "$PYPE_SCRIPTS\\particles\\mergeParticleSystems.py", "sourcetype": "file", "tags": ["particles", "mergeParticleSystems"], @@ -1303,7 +1303,7 @@ }, { "type": "action", - "command": "$COLORBLEED_SCRIPTS\\particles\\particlesToLocators.py", + "command": "$PYPE_SCRIPTS\\particles\\particlesToLocators.py", "sourcetype": "file", "tags": ["particles", "particlesToLocators"], @@ -1312,7 +1312,7 @@ }, { "type": "action", - "command": "$COLORBLEED_SCRIPTS\\particles\\instancerToObjectsWithAnimation.py", + "command": "$PYPE_SCRIPTS\\particles\\instancerToObjectsWithAnimation.py", "sourcetype": "file", "tags": ["particles", "instancerToObjectsWithAnimation"], @@ -1324,7 +1324,7 @@ }, { "type": "action", - "command": "$COLORBLEED_SCRIPTS\\particles\\mayaReplicateHoudiniTool.py", + "command": "$PYPE_SCRIPTS\\particles\\mayaReplicateHoudiniTool.py", "sourcetype": "file", "tags": ["particles", "houdini", @@ -1338,7 +1338,7 @@ }, { "type": "action", - "command": "$COLORBLEED_SCRIPTS\\particles\\clearInitialState.py", + "command": "$PYPE_SCRIPTS\\particles\\clearInitialState.py", "sourcetype": "file", "tags": ["particles", "clearInitialState"], @@ -1347,7 +1347,7 @@ }, { "type": "action", - "command": "$COLORBLEED_SCRIPTS\\particles\\killSelectedParticles.py", + "command": "$PYPE_SCRIPTS\\particles\\killSelectedParticles.py", "sourcetype": "file", "tags": ["particles", "killSelectedParticles"], @@ -1360,7 +1360,7 @@ "title": "Yeti", "items": [{ "type": "action", - "command": "$COLORBLEED_SCRIPTS\\yeti\\yeti_rig_manager.py", + "command": "$PYPE_SCRIPTS\\yeti\\yeti_rig_manager.py", "sourcetype": "file", "tags": ["yeti", "rig", @@ -1375,7 +1375,7 @@ "title": "Cleanup", "items": [{ "type": "action", - "command": "$COLORBLEED_SCRIPTS\\cleanup\\repair_faulty_containers.py", + "command": "$PYPE_SCRIPTS\\cleanup\\repair_faulty_containers.py", "sourcetype": "file", "tags": ["cleanup", "repair", @@ -1385,7 +1385,7 @@ }, { "type": "action", - "command": "$COLORBLEED_SCRIPTS\\cleanup\\selectByType.py", + "command": "$PYPE_SCRIPTS\\cleanup\\selectByType.py", "sourcetype": "file", "tags": ["cleanup", "selectByType"], @@ -1394,7 +1394,7 @@ }, { "type": "action", - "command": "$COLORBLEED_SCRIPTS\\cleanup\\selectIntermediateObjects.py", + "command": "$PYPE_SCRIPTS\\cleanup\\selectIntermediateObjects.py", "sourcetype": "file", "tags": ["cleanup", "selectIntermediateObjects"], @@ -1403,7 +1403,7 @@ }, { "type": "action", - "command": "$COLORBLEED_SCRIPTS\\cleanup\\selectNonUniqueNames.py", + "command": "$PYPE_SCRIPTS\\cleanup\\selectNonUniqueNames.py", "sourcetype": "file", "tags": ["cleanup", "select", @@ -1417,7 +1417,7 @@ }, { "type": "action", - "command": "$COLORBLEED_SCRIPTS\\cleanup\\removeNamespaces.py", + "command": "$PYPE_SCRIPTS\\cleanup\\removeNamespaces.py", "sourcetype": "file", "tags": ["cleanup", "remove", @@ -1427,7 +1427,7 @@ }, { "type": "action", - "command": "$COLORBLEED_SCRIPTS\\cleanup\\remove_user_defined_attributes.py", + "command": "$PYPE_SCRIPTS\\cleanup\\remove_user_defined_attributes.py", "sourcetype": "file", "tags": ["cleanup", "remove_user_defined_attributes"], @@ -1436,7 +1436,7 @@ }, { "type": "action", - "command": "$COLORBLEED_SCRIPTS\\cleanup\\removeUnknownNodes.py", + "command": "$PYPE_SCRIPTS\\cleanup\\removeUnknownNodes.py", "sourcetype": "file", "tags": ["cleanup", "removeUnknownNodes"], @@ -1445,7 +1445,7 @@ }, { "type": "action", - "command": "$COLORBLEED_SCRIPTS\\cleanup\\removeUnloadedReferences.py", + "command": "$PYPE_SCRIPTS\\cleanup\\removeUnloadedReferences.py", "sourcetype": "file", "tags": ["cleanup", "removeUnloadedReferences"], @@ -1454,7 +1454,7 @@ }, { "type": "action", - "command": "$COLORBLEED_SCRIPTS\\cleanup\\removeReferencesFailedEdits.py", + "command": "$PYPE_SCRIPTS\\cleanup\\removeReferencesFailedEdits.py", "sourcetype": "file", "tags": ["cleanup", "removeReferencesFailedEdits"], @@ -1463,7 +1463,7 @@ }, { "type": "action", - "command": "$COLORBLEED_SCRIPTS\\cleanup\\remove_unused_looks.py", + "command": "$PYPE_SCRIPTS\\cleanup\\remove_unused_looks.py", "sourcetype": "file", "tags": ["cleanup", "removeUnusedLooks"], @@ -1472,7 +1472,7 @@ }, { "type": "action", - "command": "$COLORBLEED_SCRIPTS\\cleanup\\deleteGhostIntermediateObjects.py", + "command": "$PYPE_SCRIPTS\\cleanup\\deleteGhostIntermediateObjects.py", "sourcetype": "file", "tags": ["cleanup", "deleteGhostIntermediateObjects"], @@ -1484,7 +1484,7 @@ }, { "type": "action", - "command": "$COLORBLEED_SCRIPTS\\cleanup\\resetViewportCache.py", + "command": "$PYPE_SCRIPTS\\cleanup\\resetViewportCache.py", "sourcetype": "file", "tags": ["cleanup", "reset", @@ -1495,7 +1495,7 @@ }, { "type": "action", - "command": "$COLORBLEED_SCRIPTS\\cleanup\\uniqifyNodeNames.py", + "command": "$PYPE_SCRIPTS\\cleanup\\uniqifyNodeNames.py", "sourcetype": "file", "tags": ["cleanup", "uniqifyNodeNames"], @@ -1504,7 +1504,7 @@ }, { "type": "action", - "command": "$COLORBLEED_SCRIPTS\\cleanup\\autoRenameFileNodes.py", + "command": "$PYPE_SCRIPTS\\cleanup\\autoRenameFileNodes.py", "sourcetype": "file", "tags": ["cleanup", "auto", @@ -1515,7 +1515,7 @@ }, { "type": "action", - "command": "$COLORBLEED_SCRIPTS\\cleanup\\update_asset_id.py", + "command": "$PYPE_SCRIPTS\\cleanup\\update_asset_id.py", "sourcetype": "file", "tags": ["cleanup", "update", @@ -1527,7 +1527,7 @@ }, { "type": "action", - "command": "$COLORBLEED_SCRIPTS\\cleanup\\colorbleedRename.py", + "command": "$PYPE_SCRIPTS\\cleanup\\colorbleedRename.py", "sourcetype": "file", "tags": ["cleanup", "rename", @@ -1537,7 +1537,7 @@ }, { "type": "action", - "command": "$COLORBLEED_SCRIPTS\\cleanup\\renameShapesToTransform.py", + "command": "$PYPE_SCRIPTS\\cleanup\\renameShapesToTransform.py", "sourcetype": "file", "tags": ["cleanup", "renameShapesToTransform"], @@ -1546,7 +1546,7 @@ }, { "type": "action", - "command": "$COLORBLEED_SCRIPTS\\cleanup\\reorderUI.py", + "command": "$PYPE_SCRIPTS\\cleanup\\reorderUI.py", "sourcetype": "file", "tags": ["cleanup", "reorderUI"], @@ -1555,7 +1555,7 @@ }, { "type": "action", - "command": "$COLORBLEED_SCRIPTS\\cleanup\\pastedCleaner.py", + "command": "$PYPE_SCRIPTS\\cleanup\\pastedCleaner.py", "sourcetype": "file", "tags": ["cleanup", "pastedCleaner"], @@ -1572,7 +1572,7 @@ "title": "Yeti", "items": [{ "type": "action", - "command": "$COLORBLEED_SCRIPTS\\others\\yeti\\cache_selected_yeti_nodes.py", + "command": "$PYPE_SCRIPTS\\others\\yeti\\cache_selected_yeti_nodes.py", "sourcetype": "file", "tags": ["others", "yeti", @@ -1588,7 +1588,7 @@ "tooltip": "", "items": [{ "type": "action", - "command": "$COLORBLEED_SCRIPTS\\others\\hair\\recolorHairCurrentCurve", + "command": "$PYPE_SCRIPTS\\others\\hair\\recolorHairCurrentCurve", "sourcetype": "file", "tags": ["others", "selectSoftSelection"], @@ -1598,14 +1598,14 @@ }, { "type": "menu", - "command": "$COLORBLEED_SCRIPTS\\others\\display", + "command": "$PYPE_SCRIPTS\\others\\display", "sourcetype": "file", "tags": ["others", "display"], "title": "Display", "items": [{ "type": "action", - "command": "$COLORBLEED_SCRIPTS\\others\\display\\wireframeSelectedObjects.py", + "command": "$PYPE_SCRIPTS\\others\\display\\wireframeSelectedObjects.py", "sourcetype": "file", "tags": ["others", "wireframe", @@ -1617,7 +1617,7 @@ }, { "type": "action", - "command": "$COLORBLEED_SCRIPTS\\others\\archiveSceneUI.py", + "command": "$PYPE_SCRIPTS\\others\\archiveSceneUI.py", "sourcetype": "file", "tags": ["others", "archiveSceneUI"], @@ -1626,7 +1626,7 @@ }, { "type": "action", - "command": "$COLORBLEED_SCRIPTS\\others\\getSimilarMeshes.py", + "command": "$PYPE_SCRIPTS\\others\\getSimilarMeshes.py", "sourcetype": "file", "tags": ["others", "getSimilarMeshes"], @@ -1635,7 +1635,7 @@ }, { "type": "action", - "command": "$COLORBLEED_SCRIPTS\\others\\createBoundingBoxEachSelected.py", + "command": "$PYPE_SCRIPTS\\others\\createBoundingBoxEachSelected.py", "sourcetype": "file", "tags": ["others", "createBoundingBoxEachSelected"], @@ -1644,7 +1644,7 @@ }, { "type": "action", - "command": "$COLORBLEED_SCRIPTS\\others\\curveFromPositionEveryFrame.py", + "command": "$PYPE_SCRIPTS\\others\\curveFromPositionEveryFrame.py", "sourcetype": "file", "tags": ["others", "curveFromPositionEveryFrame"], @@ -1653,7 +1653,7 @@ }, { "type": "action", - "command": "$COLORBLEED_SCRIPTS\\others\\instanceLeafSmartTransform.py", + "command": "$PYPE_SCRIPTS\\others\\instanceLeafSmartTransform.py", "sourcetype": "file", "tags": ["others", "instance", @@ -1665,7 +1665,7 @@ }, { "type": "action", - "command": "$COLORBLEED_SCRIPTS\\others\\instanceSmartTransform.py", + "command": "$PYPE_SCRIPTS\\others\\instanceSmartTransform.py", "sourcetype": "file", "tags": ["others", "instance", @@ -1676,7 +1676,7 @@ }, { "type": "action", - "command": "$COLORBLEED_SCRIPTS\\others\\randomizeUVShellsSelectedObjects.py", + "command": "$PYPE_SCRIPTS\\others\\randomizeUVShellsSelectedObjects.py", "sourcetype": "file", "tags": ["others", "randomizeUVShellsSelectedObjects"], @@ -1685,7 +1685,7 @@ }, { "type": "action", - "command": "$COLORBLEED_SCRIPTS\\others\\centerPivotGroup.py", + "command": "$PYPE_SCRIPTS\\others\\centerPivotGroup.py", "sourcetype": "file", "tags": ["others", "centerPivotGroup"], @@ -1697,7 +1697,7 @@ }, { "type": "action", - "command": "$COLORBLEED_SCRIPTS\\others\\locatorsOnSelectedFaces.py", + "command": "$PYPE_SCRIPTS\\others\\locatorsOnSelectedFaces.py", "sourcetype": "file", "tags": ["others", "locatorsOnSelectedFaces"], @@ -1706,7 +1706,7 @@ }, { "type": "action", - "command": "$COLORBLEED_SCRIPTS\\others\\locatorsOnEdgeSelectionPrompt.py", + "command": "$PYPE_SCRIPTS\\others\\locatorsOnEdgeSelectionPrompt.py", "sourcetype": "file", "tags": ["others", "locatorsOnEdgeSelectionPrompt"], @@ -1718,7 +1718,7 @@ }, { "type": "action", - "command": "$COLORBLEED_SCRIPTS\\others\\copyDeformers.py", + "command": "$PYPE_SCRIPTS\\others\\copyDeformers.py", "sourcetype": "file", "tags": ["others", "copyDeformers"], @@ -1727,7 +1727,7 @@ }, { "type": "action", - "command": "$COLORBLEED_SCRIPTS\\others\\selectInReferenceEditor.py", + "command": "$PYPE_SCRIPTS\\others\\selectInReferenceEditor.py", "sourcetype": "file", "tags": ["others", "selectInReferenceEditor"], @@ -1736,7 +1736,7 @@ }, { "type": "action", - "command": "$COLORBLEED_SCRIPTS\\others\\selectConstrainingObject.py", + "command": "$PYPE_SCRIPTS\\others\\selectConstrainingObject.py", "sourcetype": "file", "tags": ["others", "selectConstrainingObject"], @@ -1745,7 +1745,7 @@ }, { "type": "action", - "command": "$COLORBLEED_SCRIPTS\\others\\deformerSetRelationsUI.py", + "command": "$PYPE_SCRIPTS\\others\\deformerSetRelationsUI.py", "sourcetype": "file", "tags": ["others", "deformerSetRelationsUI"], @@ -1754,7 +1754,7 @@ }, { "type": "action", - "command": "$COLORBLEED_SCRIPTS\\others\\recreateBaseNodesForAllLatticeNodes.py", + "command": "$PYPE_SCRIPTS\\others\\recreateBaseNodesForAllLatticeNodes.py", "sourcetype": "file", "tags": ["others", "recreate", @@ -1764,4 +1764,4 @@ "title": "Recreate Base Nodes For Lattice Nodes", "tooltip": "" }] -}] \ No newline at end of file +}] diff --git a/pype/plugins/fusion/create/create_tiff_saver.py b/pype/plugins/fusion/create/create_tiff_saver.py index 4baddfc36e..4911650ed2 100644 --- a/pype/plugins/fusion/create/create_tiff_saver.py +++ b/pype/plugins/fusion/create/create_tiff_saver.py @@ -9,7 +9,7 @@ class CreateTiffSaver(avalon.api.Creator): name = "tiffDefault" label = "Create Tiff Saver" hosts = ["fusion"] - family = "studio.saver" + family = "saver" def process(self): diff --git a/pype/plugins/fusion/load/actions.py b/pype/plugins/fusion/load/actions.py index 9c83f6ba79..d7ee13716b 100644 --- a/pype/plugins/fusion/load/actions.py +++ b/pype/plugins/fusion/load/actions.py @@ -8,11 +8,11 @@ from avalon import api class FusionSetFrameRangeLoader(api.Loader): """Specific loader of Alembic for the avalon.animation family""" - families = ["studio.animation", - "studio.camera", - "studio.imagesequence", - "studio.yeticache", - "studio.pointcache"] + families = ["animation", + "camera", + "imagesequence", + "yeticache", + "pointcache"] representations = ["*"] label = "Set frame range" @@ -41,11 +41,11 @@ class FusionSetFrameRangeLoader(api.Loader): class FusionSetFrameRangeWithHandlesLoader(api.Loader): """Specific loader of Alembic for the avalon.animation family""" - families = ["studio.animation", - "studio.camera", - "studio.imagesequence", - "studio.yeticache", - "studio.pointcache"] + families = ["animation", + "camera", + "imagesequence", + "yeticache", + "pointcache"] representations = ["*"] label = "Set frame range (with handles)" diff --git a/pype/plugins/fusion/load/load_sequence.py b/pype/plugins/fusion/load/load_sequence.py index 2150bd1eb0..7b859e9b03 100644 --- a/pype/plugins/fusion/load/load_sequence.py +++ b/pype/plugins/fusion/load/load_sequence.py @@ -113,7 +113,7 @@ def loader_shift(loader, frame, relative=True): class FusionLoadSequence(api.Loader): """Load image sequence into Fusion""" - families = ["studio.imagesequence"] + families = ["imagesequence"] representations = ["*"] label = "Load sequence" diff --git a/pype/plugins/fusion/publish/collect_instances.py b/pype/plugins/fusion/publish/collect_instances.py index 9177f603c3..472e5d4741 100644 --- a/pype/plugins/fusion/publish/collect_instances.py +++ b/pype/plugins/fusion/publish/collect_instances.py @@ -76,8 +76,8 @@ class CollectInstances(pyblish.api.ContextPlugin): "outputDir": os.path.dirname(path), "ext": ext, # todo: should be redundant "label": label, - "families": ["studio.saver"], - "family": "studio.saver", + "families": ["saver"], + "family": "saver", "active": active, "publish": active # backwards compatibility }) diff --git a/pype/plugins/fusion/publish/collect_render_target.py b/pype/plugins/fusion/publish/collect_render_target.py index 0abdd7113f..df0a3bbe75 100644 --- a/pype/plugins/fusion/publish/collect_render_target.py +++ b/pype/plugins/fusion/publish/collect_render_target.py @@ -13,7 +13,7 @@ class CollectFusionRenderMode(pyblish.api.InstancePlugin): available tool does not visualize which render mode is set for the current comp, please run the following line in the console (Py2) - comp.GetData("studio.rendermode") + comp.GetData("rendermode") This will return the name of the current render mode as seen above under Options. @@ -23,7 +23,7 @@ class CollectFusionRenderMode(pyblish.api.InstancePlugin): order = pyblish.api.CollectorOrder + 0.4 label = "Collect Render Mode" hosts = ["fusion"] - families = ["studio.saver"] + families = ["saver"] def process(self, instance): """Collect all image sequence tools""" @@ -34,11 +34,11 @@ class CollectFusionRenderMode(pyblish.api.InstancePlugin): raise RuntimeError("No comp previously collected, unable to " "retrieve Fusion version.") - rendermode = comp.GetData("studio.rendermode") or "renderlocal" + rendermode = comp.GetData("rendermode") or "renderlocal" assert rendermode in options, "Must be supported render mode" self.log.info("Render mode: {0}".format(rendermode)) # Append family - family = "studio.saver.{0}".format(rendermode) + family = "saver.{0}".format(rendermode) instance.data["families"].append(family) diff --git a/pype/plugins/fusion/publish/increment_current_file_deadline.py b/pype/plugins/fusion/publish/increment_current_file_deadline.py index f78cd34eb1..6545d84da3 100644 --- a/pype/plugins/fusion/publish/increment_current_file_deadline.py +++ b/pype/plugins/fusion/publish/increment_current_file_deadline.py @@ -11,7 +11,7 @@ class FusionIncrementCurrentFile(pyblish.api.ContextPlugin): label = "Increment current file" order = pyblish.api.IntegratorOrder + 9.0 hosts = ["fusion"] - families = ["studio.saver.deadline"] + families = ["saver.deadline"] optional = True def process(self, context): diff --git a/pype/plugins/fusion/publish/publish_image_sequences.py b/pype/plugins/fusion/publish/publish_image_sequences.py index da3bf6aa62..e8b468e94a 100644 --- a/pype/plugins/fusion/publish/publish_image_sequences.py +++ b/pype/plugins/fusion/publish/publish_image_sequences.py @@ -32,7 +32,7 @@ class PublishImageSequence(pyblish.api.InstancePlugin): order = pyblish.api.IntegratorOrder label = "Publish Rendered Image Sequence(s)" hosts = ["fusion"] - families = ["studio.saver.renderlocal"] + families = ["saver.renderlocal"] def process(self, instance): @@ -55,7 +55,7 @@ class PublishImageSequence(pyblish.api.InstancePlugin): "regex": regex, "startFrame": instance.context.data["startFrame"], "endFrame": instance.context.data["endFrame"], - "families": ["studio.imagesequence"], + "families": ["imagesequence"], } # Write metadata and store the path in the instance diff --git a/pype/plugins/fusion/publish/render_local.py b/pype/plugins/fusion/publish/render_local.py index d34f7d56ee..c97fe1a13d 100644 --- a/pype/plugins/fusion/publish/render_local.py +++ b/pype/plugins/fusion/publish/render_local.py @@ -14,7 +14,7 @@ class FusionRenderLocal(pyblish.api.InstancePlugin): order = pyblish.api.ExtractorOrder label = "Render Local" hosts = ["fusion"] - families = ["studio.saver.renderlocal"] + families = ["saver.renderlocal"] def process(self, instance): diff --git a/pype/plugins/fusion/publish/save_scene.py b/pype/plugins/fusion/publish/save_scene.py index ffc44b98d5..850ac5c372 100644 --- a/pype/plugins/fusion/publish/save_scene.py +++ b/pype/plugins/fusion/publish/save_scene.py @@ -7,7 +7,7 @@ class FusionSaveComp(pyblish.api.ContextPlugin): label = "Save current file" order = pyblish.api.ExtractorOrder - 0.49 hosts = ["fusion"] - families = ["studio.saver"] + families = ["saver"] def process(self, context): diff --git a/pype/plugins/fusion/publish/submit_deadline.py b/pype/plugins/fusion/publish/submit_deadline.py index cce9b1292c..6e1f405afd 100644 --- a/pype/plugins/fusion/publish/submit_deadline.py +++ b/pype/plugins/fusion/publish/submit_deadline.py @@ -19,7 +19,7 @@ class FusionSubmitDeadline(pyblish.api.InstancePlugin): label = "Submit to Deadline" order = pyblish.api.IntegratorOrder hosts = ["fusion"] - families = ["studio.saver.deadline"] + families = ["saver.deadline"] def process(self, instance): diff --git a/pype/plugins/fusion/publish/validate_background_depth.py b/pype/plugins/fusion/publish/validate_background_depth.py index 87d489513d..88a52ad52d 100644 --- a/pype/plugins/fusion/publish/validate_background_depth.py +++ b/pype/plugins/fusion/publish/validate_background_depth.py @@ -10,7 +10,7 @@ class ValidateBackgroundDepth(pyblish.api.InstancePlugin): label = "Validate Background Depth 32 bit" actions = [action.RepairAction] hosts = ["fusion"] - families = ["studio.saver"] + families = ["saver"] optional = True @classmethod diff --git a/pype/plugins/fusion/publish/validate_comp_saved.py b/pype/plugins/fusion/publish/validate_comp_saved.py index 6c94d730ce..425168fbdf 100644 --- a/pype/plugins/fusion/publish/validate_comp_saved.py +++ b/pype/plugins/fusion/publish/validate_comp_saved.py @@ -8,7 +8,7 @@ class ValidateFusionCompSaved(pyblish.api.ContextPlugin): order = pyblish.api.ValidatorOrder label = "Validate Comp Saved" - families = ["studio.saver"] + families = ["saver"] hosts = ["fusion"] def process(self, context): diff --git a/pype/plugins/fusion/publish/validate_create_folder_checked.py b/pype/plugins/fusion/publish/validate_create_folder_checked.py index 1c6b14b48c..00a8526c6b 100644 --- a/pype/plugins/fusion/publish/validate_create_folder_checked.py +++ b/pype/plugins/fusion/publish/validate_create_folder_checked.py @@ -13,7 +13,7 @@ class ValidateCreateFolderChecked(pyblish.api.InstancePlugin): order = pyblish.api.ValidatorOrder actions = [action.RepairAction] label = "Validate Create Folder Checked" - families = ["studio.saver"] + families = ["saver"] hosts = ["fusion"] @classmethod diff --git a/pype/plugins/fusion/publish/validate_filename_has_extension.py b/pype/plugins/fusion/publish/validate_filename_has_extension.py index 40f167765d..d3762ad290 100644 --- a/pype/plugins/fusion/publish/validate_filename_has_extension.py +++ b/pype/plugins/fusion/publish/validate_filename_has_extension.py @@ -14,7 +14,7 @@ class ValidateFilenameHasExtension(pyblish.api.InstancePlugin): order = pyblish.api.ValidatorOrder label = "Validate Filename Has Extension" - families = ["studio.saver"] + families = ["saver"] hosts = ["fusion"] def process(self, instance): diff --git a/pype/plugins/fusion/publish/validate_saver_has_input.py b/pype/plugins/fusion/publish/validate_saver_has_input.py index 9e94f101a0..6887a9704c 100644 --- a/pype/plugins/fusion/publish/validate_saver_has_input.py +++ b/pype/plugins/fusion/publish/validate_saver_has_input.py @@ -10,7 +10,7 @@ class ValidateSaverHasInput(pyblish.api.InstancePlugin): order = pyblish.api.ValidatorOrder label = "Validate Saver Has Input" - families = ["studio.saver"] + families = ["saver"] hosts = ["fusion"] @classmethod diff --git a/pype/plugins/fusion/publish/validate_saver_passthrough.py b/pype/plugins/fusion/publish/validate_saver_passthrough.py index c69873c04d..2da5cf2494 100644 --- a/pype/plugins/fusion/publish/validate_saver_passthrough.py +++ b/pype/plugins/fusion/publish/validate_saver_passthrough.py @@ -6,7 +6,7 @@ class ValidateSaverPassthrough(pyblish.api.ContextPlugin): order = pyblish.api.ValidatorOrder label = "Validate Saver Passthrough" - families = ["studio.saver"] + families = ["saver"] hosts = ["fusion"] def process(self, context): diff --git a/pype/plugins/fusion/publish/validate_unique_subsets.py b/pype/plugins/fusion/publish/validate_unique_subsets.py index 4fef26c9e9..2000e1c05d 100644 --- a/pype/plugins/fusion/publish/validate_unique_subsets.py +++ b/pype/plugins/fusion/publish/validate_unique_subsets.py @@ -6,7 +6,7 @@ class ValidateUniqueSubsets(pyblish.api.InstancePlugin): order = pyblish.api.ValidatorOrder label = "Validate Unique Subsets" - families = ["studio.saver"] + families = ["saver"] hosts = ["fusion"] @classmethod diff --git a/pype/plugins/global/load/open_imagesequence.py b/pype/plugins/global/load/open_imagesequence.py index 350ae2a6b1..8cb16fc507 100644 --- a/pype/plugins/global/load/open_imagesequence.py +++ b/pype/plugins/global/load/open_imagesequence.py @@ -18,7 +18,7 @@ def open(filepath): class PlayImageSequence(api.Loader): """Open Image Sequence with system default""" - families = ["studio.imagesequence"] + families = ["imagesequence"] representations = ["*"] label = "Play sequence" diff --git a/pype/plugins/global/publish/collect_deadline_user.py b/pype/plugins/global/publish/collect_deadline_user.py index 3474696d5f..f4d13a0545 100644 --- a/pype/plugins/global/publish/collect_deadline_user.py +++ b/pype/plugins/global/publish/collect_deadline_user.py @@ -37,9 +37,9 @@ class CollectDeadlineUser(pyblish.api.ContextPlugin): hosts = ['maya', 'fusion', 'nuke'] families = [ - "studio.renderlayer", - "studio.saver.deadline", - "studio.imagesequence" + "renderlayer", + "saver.deadline", + "imagesequence" ] diff --git a/pype/plugins/global/publish/collect_filesequences.py b/pype/plugins/global/publish/collect_filesequences.py index 72973d1f52..7181a7a366 100644 --- a/pype/plugins/global/publish/collect_filesequences.py +++ b/pype/plugins/global/publish/collect_filesequences.py @@ -149,7 +149,7 @@ class CollectFileSequences(pyblish.api.ContextPlugin): raise RuntimeError("Invalid sequence") # Get family from the data - families = data.get("families", ["studio.imagesequence"]) + families = data.get("families", ["imagesequence"]) assert isinstance(families, (list, tuple)), "Must be iterable" assert families, "Must have at least a single family" diff --git a/pype/plugins/global/publish/integrate.py b/pype/plugins/global/publish/integrate.py index d99232fd10..2c69445fbe 100644 --- a/pype/plugins/global/publish/integrate.py +++ b/pype/plugins/global/publish/integrate.py @@ -23,19 +23,19 @@ class IntegrateAsset(pyblish.api.InstancePlugin): label = "Integrate Asset" order = pyblish.api.IntegratorOrder - families = ["studio.animation", - "studio.camera", - "studio.imagesequence", - "studio.look", - "studio.mayaAscii", - "studio.model", - "studio.pointcache", - "studio.vdbcache", - "studio.setdress", - "studio.rig", - "studio.vrayproxy", - "studio.yetiRig", - "studio.yeticache"] + families = ["animation", + "camera", + "imagesequence", + "look", + "mayaAscii", + "model", + "pointcache", + "vdbcache", + "setdress", + "rig", + "vrayproxy", + "yetiRig", + "yeticache"] def process(self, instance): diff --git a/pype/plugins/global/publish/submit_publish_job.py b/pype/plugins/global/publish/submit_publish_job.py index 4d0eba6f6a..ad14f91462 100644 --- a/pype/plugins/global/publish/submit_publish_job.py +++ b/pype/plugins/global/publish/submit_publish_job.py @@ -125,9 +125,9 @@ class SubmitDependentImageSequenceJobDeadline(pyblish.api.InstancePlugin): hosts = ["fusion", "maya", "nuke"] families = [ - "studio.saver.deadline", - "studio.renderlayer", - "studio.imagesequence" + "saver.deadline", + "renderlayer", + "imagesequence" ] def process(self, instance): @@ -173,7 +173,7 @@ class SubmitDependentImageSequenceJobDeadline(pyblish.api.InstancePlugin): "regex": regex, "startFrame": start, "endFrame": end, - "families": ["studio.imagesequence"], + "families": ["imagesequence"], # Optional metadata (for debugging) "metadata": { @@ -190,7 +190,7 @@ class SubmitDependentImageSequenceJobDeadline(pyblish.api.InstancePlugin): if data.get("extendFrames", False): - family = "studio.imagesequence" + family = "imagesequence" override = data["overrideExistingFrame"] # override = data.get("overrideExistingFrame", False) diff --git a/pype/plugins/global/publish/validate_sequence_frames.py b/pype/plugins/global/publish/validate_sequence_frames.py index 1258050394..cd54e6becc 100644 --- a/pype/plugins/global/publish/validate_sequence_frames.py +++ b/pype/plugins/global/publish/validate_sequence_frames.py @@ -11,7 +11,7 @@ class ValidateSequenceFrames(pyblish.api.InstancePlugin): order = pyblish.api.ValidatorOrder label = "Validate Sequence Frames" - families = ["studio.imagesequence"] + families = ["imagesequence"] hosts = ["shell"] def process(self, instance): diff --git a/pype/plugins/houdini/create/create_alembic_camera.py b/pype/plugins/houdini/create/create_alembic_camera.py index 8c7a16506e..fbd8ca8fe8 100644 --- a/pype/plugins/houdini/create/create_alembic_camera.py +++ b/pype/plugins/houdini/create/create_alembic_camera.py @@ -7,7 +7,7 @@ class CreateAlembicCamera(houdini.Creator): name = "camera" label = "Camera (Abc)" - family = "studio.camera" + family = "camera" icon = "camera" def __init__(self, *args, **kwargs): diff --git a/pype/plugins/houdini/create/create_pointcache.py b/pype/plugins/houdini/create/create_pointcache.py index 36f0e799ae..fd470b3235 100644 --- a/pype/plugins/houdini/create/create_pointcache.py +++ b/pype/plugins/houdini/create/create_pointcache.py @@ -6,7 +6,7 @@ class CreatePointCache(houdini.Creator): name = "pointcache" label = "Point Cache" - family = "studio.pointcache" + family = "pointcache" icon = "gears" def __init__(self, *args, **kwargs): diff --git a/pype/plugins/houdini/create/create_vbd_cache.py b/pype/plugins/houdini/create/create_vbd_cache.py index 4c78b5bc20..2b82a52cf4 100644 --- a/pype/plugins/houdini/create/create_vbd_cache.py +++ b/pype/plugins/houdini/create/create_vbd_cache.py @@ -6,7 +6,7 @@ class CreateVDBCache(houdini.Creator): name = "vbdcache" label = "VDB Cache" - family = "studio.vdbcache" + family = "vdbcache" icon = "cloud" def __init__(self, *args, **kwargs): diff --git a/pype/plugins/houdini/load/load_alembic.py b/pype/plugins/houdini/load/load_alembic.py index de84991d53..8fc2b6a61a 100644 --- a/pype/plugins/houdini/load/load_alembic.py +++ b/pype/plugins/houdini/load/load_alembic.py @@ -6,9 +6,9 @@ from avalon.houdini import pipeline, lib class AbcLoader(api.Loader): """Specific loader of Alembic for the avalon.animation family""" - families = ["studio.model", - "studio.animation", - "studio.pointcache"] + families = ["model", + "animation", + "pointcache"] label = "Load Alembic" representations = ["abc"] order = -10 diff --git a/pype/plugins/houdini/load/load_camera.py b/pype/plugins/houdini/load/load_camera.py index 6f3c2953d4..a3d67f6e5e 100644 --- a/pype/plugins/houdini/load/load_camera.py +++ b/pype/plugins/houdini/load/load_camera.py @@ -6,7 +6,7 @@ from avalon.houdini import pipeline, lib class CameraLoader(api.Loader): """Specific loader of Alembic for the avalon.animation family""" - families = ["studio.camera"] + families = ["camera"] label = "Load Camera (abc)" representations = ["abc"] order = -10 diff --git a/pype/plugins/houdini/publish/collect_frames.py b/pype/plugins/houdini/publish/collect_frames.py index 53a7cecc43..7735d23fb7 100644 --- a/pype/plugins/houdini/publish/collect_frames.py +++ b/pype/plugins/houdini/publish/collect_frames.py @@ -10,7 +10,7 @@ class CollectFrames(pyblish.api.InstancePlugin): order = pyblish.api.CollectorOrder label = "Collect Frames" - families = ["studio.vdbcache"] + families = ["vdbcache"] def process(self, instance): diff --git a/pype/plugins/houdini/publish/extract_alembic.py b/pype/plugins/houdini/publish/extract_alembic.py index 94cb9d8471..cb5219f9f1 100644 --- a/pype/plugins/houdini/publish/extract_alembic.py +++ b/pype/plugins/houdini/publish/extract_alembic.py @@ -9,7 +9,7 @@ class ExtractAlembic(pype.api.Extractor): order = pyblish.api.ExtractorOrder label = "Extract Alembic" hosts = ["houdini"] - families = ["studio.pointcache", "studio.camera"] + families = ["pointcache", "camera"] def process(self, instance): diff --git a/pype/plugins/houdini/publish/extract_vdb_cache.py b/pype/plugins/houdini/publish/extract_vdb_cache.py index c601d42179..34c09c7e81 100644 --- a/pype/plugins/houdini/publish/extract_vdb_cache.py +++ b/pype/plugins/houdini/publish/extract_vdb_cache.py @@ -8,7 +8,7 @@ class ExtractVDBCache(pype.api.Extractor): order = pyblish.api.ExtractorOrder + 0.1 label = "Extract VDB Cache" - families = ["studio.vdbcache"] + families = ["vdbcache"] hosts = ["houdini"] def process(self, instance): diff --git a/pype/plugins/houdini/publish/valiate_vdb_input_node.py b/pype/plugins/houdini/publish/valiate_vdb_input_node.py index ae7eb1f6b9..e5bc118306 100644 --- a/pype/plugins/houdini/publish/valiate_vdb_input_node.py +++ b/pype/plugins/houdini/publish/valiate_vdb_input_node.py @@ -17,7 +17,7 @@ class ValidateVDBInputNode(pyblish.api.InstancePlugin): """ order = pype.api.ValidateContentsOrder + 0.1 - families = ["studio.vdbcache"] + families = ["vdbcache"] hosts = ["houdini"] label = "Validate Input Node (VDB)" diff --git a/pype/plugins/houdini/publish/validate_alembic_input_node.py b/pype/plugins/houdini/publish/validate_alembic_input_node.py index ab2a4fd6f2..8f9a59a420 100644 --- a/pype/plugins/houdini/publish/validate_alembic_input_node.py +++ b/pype/plugins/houdini/publish/validate_alembic_input_node.py @@ -12,7 +12,7 @@ class ValidateAlembicInputNode(pyblish.api.InstancePlugin): """ order = pype.api.ValidateContentsOrder + 0.1 - families = ["studio.pointcache"] + families = ["pointcache"] hosts = ["houdini"] label = "Validate Input Node (Abc)" diff --git a/pype/plugins/houdini/publish/validate_animation_settings.py b/pype/plugins/houdini/publish/validate_animation_settings.py index 5b61b171d8..238dfb4fa4 100644 --- a/pype/plugins/houdini/publish/validate_animation_settings.py +++ b/pype/plugins/houdini/publish/validate_animation_settings.py @@ -23,7 +23,7 @@ class ValidateAnimationSettings(pyblish.api.InstancePlugin): order = pyblish.api.ValidatorOrder label = "Validate Frame Settings" - families = ["studio.vdbcache"] + families = ["vdbcache"] def process(self, instance): diff --git a/pype/plugins/houdini/publish/validate_mkpaths_toggled.py b/pype/plugins/houdini/publish/validate_mkpaths_toggled.py index 1e5cfb8d80..e6ee1cd25c 100644 --- a/pype/plugins/houdini/publish/validate_mkpaths_toggled.py +++ b/pype/plugins/houdini/publish/validate_mkpaths_toggled.py @@ -12,7 +12,7 @@ class ValidateIntermediateDirectoriesChecked(pyblish.api.InstancePlugin): """ order = pype.api.ValidateContentsOrder - families = ["studio.pointcache'] + families = ["pointcache'] hosts = ['houdini'] label = 'Create Intermediate Directories Checked' diff --git a/pype/plugins/maya/create/colorbleed_animation.py b/pype/plugins/maya/create/create_animation.py similarity index 96% rename from pype/plugins/maya/create/colorbleed_animation.py rename to pype/plugins/maya/create/create_animation.py index a5574dec18..ea8e8ebb39 100644 --- a/pype/plugins/maya/create/colorbleed_animation.py +++ b/pype/plugins/maya/create/create_animation.py @@ -9,7 +9,7 @@ class CreateAnimation(avalon.maya.Creator): name = "animationDefault" label = "Animation" - family = "studio.animation" + family = "animation" icon = "male" def __init__(self, *args, **kwargs): diff --git a/pype/plugins/maya/create/colorbleed_camera.py b/pype/plugins/maya/create/create_camera.py similarity index 96% rename from pype/plugins/maya/create/colorbleed_camera.py rename to pype/plugins/maya/create/create_camera.py index a30e202722..7f954c2461 100644 --- a/pype/plugins/maya/create/colorbleed_camera.py +++ b/pype/plugins/maya/create/create_camera.py @@ -8,7 +8,7 @@ class CreateCamera(avalon.maya.Creator): name = "cameraDefault" label = "Camera" - family = "studio.camera" + family = "camera" icon = "video-camera" def __init__(self, *args, **kwargs): diff --git a/pype/plugins/maya/create/colorbleed_look.py b/pype/plugins/maya/create/create_look.py similarity index 94% rename from pype/plugins/maya/create/colorbleed_look.py rename to pype/plugins/maya/create/create_look.py index a3f4574658..17e8bcd7e3 100644 --- a/pype/plugins/maya/create/colorbleed_look.py +++ b/pype/plugins/maya/create/create_look.py @@ -8,7 +8,7 @@ class CreateLook(avalon.maya.Creator): name = "look" label = "Look" - family = "studio.look" + family = "look" icon = "paint-brush" def __init__(self, *args, **kwargs): diff --git a/pype/plugins/maya/create/colorbleed_mayaascii.py b/pype/plugins/maya/create/create_mayaascii.py similarity index 84% rename from pype/plugins/maya/create/colorbleed_mayaascii.py rename to pype/plugins/maya/create/create_mayaascii.py index be163107b3..bf55c3d578 100644 --- a/pype/plugins/maya/create/colorbleed_mayaascii.py +++ b/pype/plugins/maya/create/create_mayaascii.py @@ -6,5 +6,5 @@ class CreateMayaAscii(avalon.maya.Creator): name = "mayaAscii" label = "Maya Ascii" - family = "studio.mayaAscii" + family = "mayaAscii" icon = "file-archive-o" diff --git a/pype/plugins/maya/create/colorbleed_model.py b/pype/plugins/maya/create/create_model.py similarity index 94% rename from pype/plugins/maya/create/colorbleed_model.py rename to pype/plugins/maya/create/create_model.py index b20404d3ca..7290d7bd71 100644 --- a/pype/plugins/maya/create/colorbleed_model.py +++ b/pype/plugins/maya/create/create_model.py @@ -8,7 +8,7 @@ class CreateModel(avalon.maya.Creator): name = "modelDefault" label = "Model" - family = "studio.model" + family = "model" icon = "cube" def __init__(self, *args, **kwargs): diff --git a/pype/plugins/maya/create/colorbleed_pointcache.py b/pype/plugins/maya/create/create_pointcache.py similarity index 96% rename from pype/plugins/maya/create/colorbleed_pointcache.py rename to pype/plugins/maya/create/create_pointcache.py index eacec62c51..a660485e94 100644 --- a/pype/plugins/maya/create/colorbleed_pointcache.py +++ b/pype/plugins/maya/create/create_pointcache.py @@ -9,7 +9,7 @@ class CreatePointCache(avalon.maya.Creator): name = "pointcache" label = "Point Cache" - family = "studio.pointcache" + family = "pointcache" icon = "gears" def __init__(self, *args, **kwargs): diff --git a/pype/plugins/maya/create/colorbleed_renderglobals.py b/pype/plugins/maya/create/create_renderglobals.py similarity index 98% rename from pype/plugins/maya/create/colorbleed_renderglobals.py rename to pype/plugins/maya/create/create_renderglobals.py index 938ec9edea..ca086f1f47 100644 --- a/pype/plugins/maya/create/colorbleed_renderglobals.py +++ b/pype/plugins/maya/create/create_renderglobals.py @@ -10,7 +10,7 @@ from avalon import api class CreateRenderGlobals(avalon.maya.Creator): label = "Render Globals" - family = "studio.renderglobals" + family = "renderglobals" icon = "gears" def __init__(self, *args, **kwargs): diff --git a/pype/plugins/maya/create/colorbleed_rig.py b/pype/plugins/maya/create/create_rig.py similarity index 95% rename from pype/plugins/maya/create/colorbleed_rig.py rename to pype/plugins/maya/create/create_rig.py index 471219c6ef..e8bcd2baa2 100644 --- a/pype/plugins/maya/create/colorbleed_rig.py +++ b/pype/plugins/maya/create/create_rig.py @@ -8,7 +8,7 @@ class CreateRig(avalon.maya.Creator): name = "rigDefault" label = "Rig" - family = "studio.rig" + family = "rig" icon = "wheelchair" def process(self): diff --git a/pype/plugins/maya/create/colorbleed_setdress.py b/pype/plugins/maya/create/create_setdress.py similarity index 84% rename from pype/plugins/maya/create/colorbleed_setdress.py rename to pype/plugins/maya/create/create_setdress.py index 56c1129a82..79f08ca04c 100644 --- a/pype/plugins/maya/create/colorbleed_setdress.py +++ b/pype/plugins/maya/create/create_setdress.py @@ -6,5 +6,5 @@ class CreateSetDress(avalon.maya.Creator): name = "setdress" label = "Set Dress" - family = "studio.setdress" + family = "setdress" icon = "cubes" \ No newline at end of file diff --git a/pype/plugins/maya/create/colorbleed_vrayproxy.py b/pype/plugins/maya/create/create_vrayproxy.py similarity index 94% rename from pype/plugins/maya/create/colorbleed_vrayproxy.py rename to pype/plugins/maya/create/create_vrayproxy.py index 805e358c22..49b9850866 100644 --- a/pype/plugins/maya/create/colorbleed_vrayproxy.py +++ b/pype/plugins/maya/create/create_vrayproxy.py @@ -8,7 +8,7 @@ class CreateVrayProxy(avalon.maya.Creator): name = "vrayproxy" label = "VRay Proxy" - family = "studio.vrayproxy" + family = "vrayproxy" icon = "gears" def __init__(self, *args, **kwargs): diff --git a/pype/plugins/maya/create/colorbleed_yeti_cache.py b/pype/plugins/maya/create/create_yeti_cache.py similarity index 95% rename from pype/plugins/maya/create/colorbleed_yeti_cache.py rename to pype/plugins/maya/create/create_yeti_cache.py index 09a6599be0..6b540461db 100644 --- a/pype/plugins/maya/create/colorbleed_yeti_cache.py +++ b/pype/plugins/maya/create/create_yeti_cache.py @@ -9,7 +9,7 @@ class CreateYetiCache(avalon.maya.Creator): name = "yetiDefault" label = "Yeti Cache" - family = "studio.yeticache" + family = "yeticache" icon = "pagelines" def __init__(self, *args, **kwargs): diff --git a/pype/plugins/maya/create/colorbleed_yeti_rig.py b/pype/plugins/maya/create/create_yeti_rig.py similarity index 93% rename from pype/plugins/maya/create/colorbleed_yeti_rig.py rename to pype/plugins/maya/create/create_yeti_rig.py index b0c9e1cece..ba44c7bf27 100644 --- a/pype/plugins/maya/create/colorbleed_yeti_rig.py +++ b/pype/plugins/maya/create/create_yeti_rig.py @@ -7,7 +7,7 @@ class CreateYetiRig(avalon.maya.Creator): """Output for procedural plugin nodes ( Yeti / XGen / etc)""" label = "Yeti Rig" - family = "studio.yetiRig" + family = "yetiRig" icon = "usb" def process(self): diff --git a/pype/plugins/maya/load/_load_animation.py b/pype/plugins/maya/load/_load_animation.py index 0edf75f481..1c5f99cc0e 100644 --- a/pype/plugins/maya/load/_load_animation.py +++ b/pype/plugins/maya/load/_load_animation.py @@ -4,9 +4,9 @@ import pype.maya.plugin class AbcLoader(pype.maya.plugin.ReferenceLoader): """Specific loader of Alembic for the avalon.animation family""" - families = ["studio.animation", - "studio.camera", - "studio.pointcache"] + families = ["animation", + "camera", + "pointcache"] representations = ["abc"] label = "Reference animation" diff --git a/pype/plugins/maya/load/actions.py b/pype/plugins/maya/load/actions.py index 2bdca8506a..6db3c6ba34 100644 --- a/pype/plugins/maya/load/actions.py +++ b/pype/plugins/maya/load/actions.py @@ -8,9 +8,9 @@ from avalon import api class SetFrameRangeLoader(api.Loader): """Specific loader of Alembic for the avalon.animation family""" - families = ["studio.animation", - "studio.camera", - "studio.pointcache"] + families = ["animation", + "camera", + "pointcache"] representations = ["abc"] label = "Set frame range" @@ -42,9 +42,9 @@ class SetFrameRangeLoader(api.Loader): class SetFrameRangeWithHandlesLoader(api.Loader): """Specific loader of Alembic for the avalon.animation family""" - families = ["studio.animation", - "studio.camera", - "studio.pointcache"] + families = ["animation", + "camera", + "pointcache"] representations = ["abc"] label = "Set frame range (with handles)" diff --git a/pype/plugins/maya/load/load_alembic.py b/pype/plugins/maya/load/load_alembic.py index 61b52d12db..9c04a2e51d 100644 --- a/pype/plugins/maya/load/load_alembic.py +++ b/pype/plugins/maya/load/load_alembic.py @@ -4,8 +4,8 @@ import pype.maya.plugin class AbcLoader(pype.maya.plugin.ReferenceLoader): """Specific loader of Alembic for the studio.animation family""" - families = ["studio.animation", - "studio.pointcache"] + families = ["animation", + "pointcache"] label = "Reference animation" representations = ["abc"] order = -10 diff --git a/pype/plugins/maya/load/load_camera.py b/pype/plugins/maya/load/load_camera.py index 1156d9e14c..7b2595f3ce 100644 --- a/pype/plugins/maya/load/load_camera.py +++ b/pype/plugins/maya/load/load_camera.py @@ -4,7 +4,7 @@ import pype.maya.plugin class CameraLoader(pype.maya.plugin.ReferenceLoader): """Specific loader of Alembic for the studio.camera family""" - families = ["studio.camera"] + families = ["camera"] label = "Reference camera" representations = ["abc", "ma"] order = -10 diff --git a/pype/plugins/maya/load/load_look.py b/pype/plugins/maya/load/load_look.py index bcef5eabc6..eede195a49 100644 --- a/pype/plugins/maya/load/load_look.py +++ b/pype/plugins/maya/load/load_look.py @@ -4,7 +4,7 @@ import pype.maya.plugin class LookLoader(pype.maya.plugin.ReferenceLoader): """Specific loader for lookdev""" - families = ["studio.look"] + families = ["look"] representations = ["ma"] label = "Reference look" diff --git a/pype/plugins/maya/load/load_mayaascii.py b/pype/plugins/maya/load/load_mayaascii.py index 98bd8472ec..283ecbd3a2 100644 --- a/pype/plugins/maya/load/load_mayaascii.py +++ b/pype/plugins/maya/load/load_mayaascii.py @@ -4,7 +4,7 @@ import pype.maya.plugin class MayaAsciiLoader(pype.maya.plugin.ReferenceLoader): """Load the model""" - families = ["studio.mayaAscii"] + families = ["mayaAscii"] representations = ["ma"] label = "Reference Maya Ascii" diff --git a/pype/plugins/maya/load/load_model.py b/pype/plugins/maya/load/load_model.py index c548e9f8e7..145a1a3e00 100644 --- a/pype/plugins/maya/load/load_model.py +++ b/pype/plugins/maya/load/load_model.py @@ -5,7 +5,7 @@ import pype.maya.plugin class ModelLoader(pype.maya.plugin.ReferenceLoader): """Load the model""" - families = ["studio.model"] + families = ["model"] representations = ["ma"] label = "Reference Model" @@ -37,7 +37,7 @@ class ModelLoader(pype.maya.plugin.ReferenceLoader): class GpuCacheLoader(api.Loader): """Load model Alembic as gpuCache""" - families = ["studio.model"] + families = ["model"] representations = ["abc"] label = "Import Gpu Cache" diff --git a/pype/plugins/maya/load/load_rig.py b/pype/plugins/maya/load/load_rig.py index e37e6b33dd..aa40ca3cc2 100644 --- a/pype/plugins/maya/load/load_rig.py +++ b/pype/plugins/maya/load/load_rig.py @@ -11,7 +11,7 @@ class RigLoader(pype.maya.plugin.ReferenceLoader): """ - families = ["studio.rig"] + families = ["rig"] representations = ["ma"] label = "Reference rig" @@ -62,7 +62,7 @@ class RigLoader(pype.maya.plugin.ReferenceLoader): cmds.select([output, controls] + roots, noExpand=True) api.create(name=namespace, asset=asset, - family="studio.animation", + family="animation", options={"useSelection": True}, data={"dependencies": dependency}) diff --git a/pype/plugins/maya/load/load_setdress.py b/pype/plugins/maya/load/load_setdress.py index ecba2466d1..40785613be 100644 --- a/pype/plugins/maya/load/load_setdress.py +++ b/pype/plugins/maya/load/load_setdress.py @@ -3,7 +3,7 @@ from avalon import api class SetDressLoader(api.Loader): - families = ["studio.setdress"] + families = ["setdress"] representations = ["json"] label = "Load Set Dress" diff --git a/pype/plugins/maya/load/load_vdb_to_redshift.py b/pype/plugins/maya/load/load_vdb_to_redshift.py index cb0d708623..8ff8bc0326 100644 --- a/pype/plugins/maya/load/load_vdb_to_redshift.py +++ b/pype/plugins/maya/load/load_vdb_to_redshift.py @@ -4,7 +4,7 @@ from avalon import api class LoadVDBtoRedShift(api.Loader): """Load OpenVDB in a Redshift Volume Shape""" - families = ["studio.vdbcache"] + families = ["vdbcache"] representations = ["vdb"] label = "Load VDB to RedShift" diff --git a/pype/plugins/maya/load/load_vdb_to_vray.py b/pype/plugins/maya/load/load_vdb_to_vray.py index 68d6cf755a..ac20b0eb43 100644 --- a/pype/plugins/maya/load/load_vdb_to_vray.py +++ b/pype/plugins/maya/load/load_vdb_to_vray.py @@ -3,7 +3,7 @@ from avalon import api class LoadVDBtoVRay(api.Loader): - families = ["studio.vdbcache"] + families = ["vdbcache"] representations = ["vdb"] label = "Load VDB to VRay" diff --git a/pype/plugins/maya/load/load_vrayproxy.py b/pype/plugins/maya/load/load_vrayproxy.py index 8ac5fb4954..9396e124ce 100644 --- a/pype/plugins/maya/load/load_vrayproxy.py +++ b/pype/plugins/maya/load/load_vrayproxy.py @@ -7,7 +7,7 @@ import maya.cmds as cmds class VRayProxyLoader(api.Loader): """Load VRayMesh proxy""" - families = ["studio.vrayproxy"] + families = ["vrayproxy"] representations = ["vrmesh"] label = "Import VRay Proxy" diff --git a/pype/plugins/maya/load/load_yeti_cache.py b/pype/plugins/maya/load/load_yeti_cache.py index 972d83d79f..2160924047 100644 --- a/pype/plugins/maya/load/load_yeti_cache.py +++ b/pype/plugins/maya/load/load_yeti_cache.py @@ -13,7 +13,7 @@ from pype.maya import lib class YetiCacheLoader(api.Loader): - families = ["studio.yeticache", "studio.yetiRig"] + families = ["yeticache", "yetiRig"] representations = ["fur"] label = "Load Yeti Cache" diff --git a/pype/plugins/maya/load/load_yeti_rig.py b/pype/plugins/maya/load/load_yeti_rig.py index f942d15a8b..096b936b41 100644 --- a/pype/plugins/maya/load/load_yeti_rig.py +++ b/pype/plugins/maya/load/load_yeti_rig.py @@ -3,7 +3,7 @@ import pype.maya.plugin class YetiRigLoader(pype.maya.plugin.ReferenceLoader): - families = ["studio.yetiRig"] + families = ["yetiRig"] representations = ["ma"] label = "Load Yeti Rig" diff --git a/pype/plugins/maya/publish/collect_animation.py b/pype/plugins/maya/publish/collect_animation.py index 6eef4f4059..349fa8e649 100644 --- a/pype/plugins/maya/publish/collect_animation.py +++ b/pype/plugins/maya/publish/collect_animation.py @@ -16,7 +16,7 @@ class CollectAnimationOutputGeometry(pyblish.api.InstancePlugin): """ order = pyblish.api.CollectorOrder + 0.4 - families = ["studio.animation"] + families = ["animation"] label = "Collect Animation Output Geometry" hosts = ["maya"] diff --git a/pype/plugins/maya/publish/collect_history.py b/pype/plugins/maya/publish/collect_history.py index 57af4eaf80..16c8e4342e 100644 --- a/pype/plugins/maya/publish/collect_history.py +++ b/pype/plugins/maya/publish/collect_history.py @@ -17,7 +17,7 @@ class CollectMayaHistory(pyblish.api.InstancePlugin): order = pyblish.api.CollectorOrder + 0.1 hosts = ["maya"] label = "Maya History" - families = ["studio.rig"] + families = ["rig"] verbose = False def process(self, instance): diff --git a/pype/plugins/maya/publish/collect_look.py b/pype/plugins/maya/publish/collect_look.py index 06858b39a0..cbfecdc0ad 100644 --- a/pype/plugins/maya/publish/collect_look.py +++ b/pype/plugins/maya/publish/collect_look.py @@ -203,7 +203,7 @@ class CollectLook(pyblish.api.InstancePlugin): """ order = pyblish.api.CollectorOrder + 0.4 - families = ["studio.look"] + families = ["look"] label = "Collect Look" hosts = ["maya"] diff --git a/pype/plugins/maya/publish/collect_model.py b/pype/plugins/maya/publish/collect_model.py index c43595b97c..47808934b3 100644 --- a/pype/plugins/maya/publish/collect_model.py +++ b/pype/plugins/maya/publish/collect_model.py @@ -17,7 +17,7 @@ class CollectModelData(pyblish.api.InstancePlugin): order = pyblish.api.CollectorOrder + 0.499 label = 'Collect Model Data' - families = ["studio.model"] + families = ["model"] def process(self, instance): # Extract only current frame (override) diff --git a/pype/plugins/maya/publish/collect_render_layer_aovs.py b/pype/plugins/maya/publish/collect_render_layer_aovs.py index a2f37ab024..f570aa9158 100644 --- a/pype/plugins/maya/publish/collect_render_layer_aovs.py +++ b/pype/plugins/maya/publish/collect_render_layer_aovs.py @@ -28,7 +28,7 @@ class CollectRenderLayerAOVS(pyblish.api.InstancePlugin): order = pyblish.api.CollectorOrder + 0.01 label = "Render Elements / AOVs" hosts = ["maya"] - families = ["studio.renderlayer"] + families = ["renderlayer"] def process(self, instance): diff --git a/pype/plugins/maya/publish/collect_renderlayers.py b/pype/plugins/maya/publish/collect_renderlayers.py index a12c780445..0a02f8f49d 100644 --- a/pype/plugins/maya/publish/collect_renderlayers.py +++ b/pype/plugins/maya/publish/collect_renderlayers.py @@ -74,7 +74,7 @@ class CollectMayaRenderlayers(pyblish.api.ContextPlugin): # instance subset "family": "Render Layers", - "families": ["studio.renderlayer"], + "families": ["renderlayer"], "asset": asset, "time": api.time(), "author": context.data["user"], diff --git a/pype/plugins/maya/publish/collect_setdress.py b/pype/plugins/maya/publish/collect_setdress.py index 9f6421b2b4..b340aad3e0 100644 --- a/pype/plugins/maya/publish/collect_setdress.py +++ b/pype/plugins/maya/publish/collect_setdress.py @@ -25,13 +25,14 @@ class CollectSetDress(pyblish.api.InstancePlugin): order = pyblish.api.CollectorOrder + 0.49 label = "Set Dress" - families = ["studio.setdress"] + families = ["setdress"] def process(self, instance): # Find containers containers = avalon.ls() + # Get all content from the instance instance_lookup = set(cmds.ls(instance, type="transform", long=True)) data = defaultdict(list) @@ -40,6 +41,7 @@ class CollectSetDress(pyblish.api.InstancePlugin): for container in containers: root = lib.get_container_transforms(container, root=True) + self.log.debug(root) if not root or root not in instance_lookup: continue diff --git a/pype/plugins/maya/publish/collect_yeti_cache.py b/pype/plugins/maya/publish/collect_yeti_cache.py index 5d3f1b4bc5..2365162c05 100644 --- a/pype/plugins/maya/publish/collect_yeti_cache.py +++ b/pype/plugins/maya/publish/collect_yeti_cache.py @@ -28,7 +28,7 @@ class CollectYetiCache(pyblish.api.InstancePlugin): order = pyblish.api.CollectorOrder + 0.45 label = "Collect Yeti Cache" - families = ["studio.yetiRig", "studio.yeticache"] + families = ["yetiRig", "yeticache"] hosts = ["maya"] tasks = ["animation", "fx"] diff --git a/pype/plugins/maya/publish/collect_yeti_rig.py b/pype/plugins/maya/publish/collect_yeti_rig.py index f4672feb4b..52c61e85d8 100644 --- a/pype/plugins/maya/publish/collect_yeti_rig.py +++ b/pype/plugins/maya/publish/collect_yeti_rig.py @@ -21,7 +21,7 @@ class CollectYetiRig(pyblish.api.InstancePlugin): order = pyblish.api.CollectorOrder + 0.4 label = "Collect Yeti Rig" - families = ["studio.yetiRig"] + families = ["yetiRig"] hosts = ["maya"] def process(self, instance): diff --git a/pype/plugins/maya/publish/extract_animation.py b/pype/plugins/maya/publish/extract_animation.py index 2a24f7dde7..576991b0a9 100644 --- a/pype/plugins/maya/publish/extract_animation.py +++ b/pype/plugins/maya/publish/extract_animation.py @@ -17,7 +17,7 @@ class ExtractColorbleedAnimation(pype.api.Extractor): label = "Extract Animation" hosts = ["maya"] - families = ["studio.animation"] + families = ["animation"] def process(self, instance): diff --git a/pype/plugins/maya/publish/extract_camera_alembic.py b/pype/plugins/maya/publish/extract_camera_alembic.py index 6ee4769440..1c88a8c676 100644 --- a/pype/plugins/maya/publish/extract_camera_alembic.py +++ b/pype/plugins/maya/publish/extract_camera_alembic.py @@ -18,7 +18,7 @@ class ExtractCameraAlembic(pype.api.Extractor): label = "Camera (Alembic)" hosts = ["maya"] - families = ["studio.camera"] + families = ["camera"] def process(self, instance): diff --git a/pype/plugins/maya/publish/extract_camera_mayaAscii.py b/pype/plugins/maya/publish/extract_camera_mayaAscii.py index 3263373ee6..0cb846c551 100644 --- a/pype/plugins/maya/publish/extract_camera_mayaAscii.py +++ b/pype/plugins/maya/publish/extract_camera_mayaAscii.py @@ -83,7 +83,7 @@ class ExtractCameraMayaAscii(pype.api.Extractor): label = "Camera (Maya Ascii)" hosts = ["maya"] - families = ["studio.camera"] + families = ["camera"] def process(self, instance): diff --git a/pype/plugins/maya/publish/extract_look.py b/pype/plugins/maya/publish/extract_look.py index 866f84e641..936393fc72 100644 --- a/pype/plugins/maya/publish/extract_look.py +++ b/pype/plugins/maya/publish/extract_look.py @@ -22,7 +22,7 @@ class ExtractLook(pype.api.Extractor): label = "Extract Look (Maya ASCII + JSON)" hosts = ["maya"] - families = ["studio.look"] + families = ["look"] order = pyblish.api.ExtractorOrder + 0.2 def process(self, instance): diff --git a/pype/plugins/maya/publish/extract_maya_ascii_raw.py b/pype/plugins/maya/publish/extract_maya_ascii_raw.py index d596ad1b8b..ba5d25cc88 100644 --- a/pype/plugins/maya/publish/extract_maya_ascii_raw.py +++ b/pype/plugins/maya/publish/extract_maya_ascii_raw.py @@ -15,7 +15,7 @@ class ExtractMayaAsciiRaw(pype.api.Extractor): label = "Maya ASCII (Raw)" hosts = ["maya"] - families = ["studio.mayaAscii"] + families = ["mayaAscii"] def process(self, instance): diff --git a/pype/plugins/maya/publish/extract_model.py b/pype/plugins/maya/publish/extract_model.py index 7e79a2983d..302a899793 100644 --- a/pype/plugins/maya/publish/extract_model.py +++ b/pype/plugins/maya/publish/extract_model.py @@ -24,7 +24,7 @@ class ExtractModel(pype.api.Extractor): label = "Model (Maya ASCII)" hosts = ["maya"] - families = ["studio.model"] + families = ["model"] def process(self, instance): diff --git a/pype/plugins/maya/publish/extract_pointcache.py b/pype/plugins/maya/publish/extract_pointcache.py index 9f8d32d3c9..ef4a064471 100644 --- a/pype/plugins/maya/publish/extract_pointcache.py +++ b/pype/plugins/maya/publish/extract_pointcache.py @@ -17,8 +17,8 @@ class ExtractColorbleedAlembic(pype.api.Extractor): label = "Extract Pointcache (Alembic)" hosts = ["maya"] - families = ["studio.pointcache", - "studio.model"] + families = ["pointcache", + "model"] def process(self, instance): diff --git a/pype/plugins/maya/publish/extract_rig.py b/pype/plugins/maya/publish/extract_rig.py index 9d130c355f..6a92111bc7 100644 --- a/pype/plugins/maya/publish/extract_rig.py +++ b/pype/plugins/maya/publish/extract_rig.py @@ -11,7 +11,7 @@ class ExtractColorbleedRig(pype.api.Extractor): label = "Extract Rig (Maya ASCII)" hosts = ["maya"] - families = ["studio.rig"] + families = ["rig"] def process(self, instance): diff --git a/pype/plugins/maya/publish/extract_setdress.py b/pype/plugins/maya/publish/extract_setdress.py index 27d8cf518f..c4d613dc61 100644 --- a/pype/plugins/maya/publish/extract_setdress.py +++ b/pype/plugins/maya/publish/extract_setdress.py @@ -18,7 +18,7 @@ class ExtractSetDress(pype.api.Extractor): label = "Extract Set Dress" hosts = ["maya"] - families = ["studio.setdress"] + families = ["setdress"] def process(self, instance): diff --git a/pype/plugins/maya/publish/extract_vrayproxy.py b/pype/plugins/maya/publish/extract_vrayproxy.py index 2c5f267803..5c68f3ca81 100644 --- a/pype/plugins/maya/publish/extract_vrayproxy.py +++ b/pype/plugins/maya/publish/extract_vrayproxy.py @@ -16,7 +16,7 @@ class ExtractVRayProxy(pype.api.Extractor): label = "VRay Proxy (.vrmesh)" hosts = ["maya"] - families = ["studio.vrayproxy"] + families = ["vrayproxy"] def process(self, instance): diff --git a/pype/plugins/maya/publish/extract_yeti_cache.py b/pype/plugins/maya/publish/extract_yeti_cache.py index b468dfe4cd..e8cbb02b25 100644 --- a/pype/plugins/maya/publish/extract_yeti_cache.py +++ b/pype/plugins/maya/publish/extract_yeti_cache.py @@ -16,7 +16,7 @@ class ExtractYetiCache(pype.api.Extractor): label = "Extract Yeti Cache" hosts = ["maya"] - families = ["studio.yetiRig", "studio.yeticache"] + families = ["yetiRig", "yeticache"] def process(self, instance): diff --git a/pype/plugins/maya/publish/extract_yeti_rig.py b/pype/plugins/maya/publish/extract_yeti_rig.py index 6e8847995d..904ec2314e 100644 --- a/pype/plugins/maya/publish/extract_yeti_rig.py +++ b/pype/plugins/maya/publish/extract_yeti_rig.py @@ -93,7 +93,7 @@ class ExtractYetiRig(pype.api.Extractor): label = "Extract Yeti Rig" hosts = ["maya"] - families = ["studio.yetiRig"] + families = ["yetiRig"] def process(self, instance): diff --git a/pype/plugins/maya/publish/increment_current_file_deadline.py b/pype/plugins/maya/publish/increment_current_file_deadline.py index 4f02f707fe..21d4b2fc7a 100644 --- a/pype/plugins/maya/publish/increment_current_file_deadline.py +++ b/pype/plugins/maya/publish/increment_current_file_deadline.py @@ -11,7 +11,7 @@ class IncrementCurrentFileDeadline(pyblish.api.ContextPlugin): label = "Increment current file" order = pyblish.api.IntegratorOrder + 9.0 hosts = ["maya"] - families = ["studio.renderlayer"] + families = ["renderlayer"] optional = True def process(self, context): diff --git a/pype/plugins/maya/publish/save_scene.py b/pype/plugins/maya/publish/save_scene.py index ac84c6ac66..d3e1597e78 100644 --- a/pype/plugins/maya/publish/save_scene.py +++ b/pype/plugins/maya/publish/save_scene.py @@ -9,7 +9,7 @@ class SaveCurrentScene(pyblish.api.ContextPlugin): label = "Save current file" order = pyblish.api.IntegratorOrder - 0.49 hosts = ["maya"] - families = ["studio.renderlayer"] + families = ["renderlayer"] def process(self, context): import maya.cmds as cmds diff --git a/pype/plugins/maya/publish/submit_deadline.py b/pype/plugins/maya/publish/submit_deadline.py index 2a4051283f..4dabf4837e 100644 --- a/pype/plugins/maya/publish/submit_deadline.py +++ b/pype/plugins/maya/publish/submit_deadline.py @@ -99,7 +99,7 @@ class MayaSubmitDeadline(pyblish.api.InstancePlugin): label = "Submit to Deadline" order = pyblish.api.IntegratorOrder hosts = ["maya"] - families = ["studio.renderlayer"] + families = ["renderlayer"] def process(self, instance): diff --git a/pype/plugins/maya/publish/validate_animation_content.py b/pype/plugins/maya/publish/validate_animation_content.py index ccdb476734..4dd56e9c09 100644 --- a/pype/plugins/maya/publish/validate_animation_content.py +++ b/pype/plugins/maya/publish/validate_animation_content.py @@ -13,7 +13,7 @@ class ValidateAnimationContent(pyblish.api.InstancePlugin): order = pype.api.ValidateContentsOrder hosts = ["maya"] - families = ["studio.animation"] + families = ["animation"] label = "Animation Content" actions = [pype.maya.action.SelectInvalidAction] diff --git a/pype/plugins/maya/publish/validate_animation_out_set_related_node_ids.py b/pype/plugins/maya/publish/validate_animation_out_set_related_node_ids.py index 8af541f0cd..32de87469a 100644 --- a/pype/plugins/maya/publish/validate_animation_out_set_related_node_ids.py +++ b/pype/plugins/maya/publish/validate_animation_out_set_related_node_ids.py @@ -17,7 +17,7 @@ class ValidateOutRelatedNodeIds(pyblish.api.InstancePlugin): """ order = pype.api.ValidateContentsOrder - families = ["studio.animation', "studio.pointcache"] + families = ["animation', "pointcache"] hosts = ['maya'] label = 'Animation Out Set Related Node Ids' actions = [pype.maya.action.SelectInvalidAction, pype.api.RepairAction] diff --git a/pype/plugins/maya/publish/validate_camera_attributes.py b/pype/plugins/maya/publish/validate_camera_attributes.py index f71994b8e1..e4af074bc3 100644 --- a/pype/plugins/maya/publish/validate_camera_attributes.py +++ b/pype/plugins/maya/publish/validate_camera_attributes.py @@ -15,7 +15,7 @@ class ValidateCameraAttributes(pyblish.api.InstancePlugin): """ order = pype.api.ValidateContentsOrder - families = ["studio.camera'] + families = ["camera'] hosts = ['maya'] label = 'Camera Attributes' actions = [pype.maya.action.SelectInvalidAction] diff --git a/pype/plugins/maya/publish/validate_camera_contents.py b/pype/plugins/maya/publish/validate_camera_contents.py index 10dd5e922c..88b8a33284 100644 --- a/pype/plugins/maya/publish/validate_camera_contents.py +++ b/pype/plugins/maya/publish/validate_camera_contents.py @@ -16,7 +16,7 @@ class ValidateCameraContents(pyblish.api.InstancePlugin): """ order = pype.api.ValidateContentsOrder - families = ["studio.camera'] + families = ["camera'] hosts = ['maya'] label = 'Camera Contents' actions = [pype.maya.action.SelectInvalidAction] diff --git a/pype/plugins/maya/publish/validate_current_renderlayer_renderable.py b/pype/plugins/maya/publish/validate_current_renderlayer_renderable.py index f4dbe3136c..e927288548 100644 --- a/pype/plugins/maya/publish/validate_current_renderlayer_renderable.py +++ b/pype/plugins/maya/publish/validate_current_renderlayer_renderable.py @@ -18,7 +18,7 @@ class ValidateCurrentRenderLayerIsRenderable(pyblish.api.ContextPlugin): label = "Current Render Layer Has Renderable Camera" order = pyblish.api.ValidatorOrder hosts = ["maya"] - families = ["studio.renderlayer"] + families = ["renderlayer"] def process(self, instance): layer = cmds.editRenderLayerGlobals(query=True, currentRenderLayer=True) diff --git a/pype/plugins/maya/publish/validate_deadline_connection.py b/pype/plugins/maya/publish/validate_deadline_connection.py index bde75d6a68..53399bfb33 100644 --- a/pype/plugins/maya/publish/validate_deadline_connection.py +++ b/pype/plugins/maya/publish/validate_deadline_connection.py @@ -10,7 +10,7 @@ class ValidateDeadlineConnection(pyblish.api.ContextPlugin): label = "Validate Deadline Web Service" order = pyblish.api.ValidatorOrder hosts = ["maya"] - families = ["studio.renderlayer"] + families = ["renderlayer"] def process(self, instance): diff --git a/pype/plugins/maya/publish/validate_frame_range.py b/pype/plugins/maya/publish/validate_frame_range.py index 9ed8e82ec0..78bce85b96 100644 --- a/pype/plugins/maya/publish/validate_frame_range.py +++ b/pype/plugins/maya/publish/validate_frame_range.py @@ -17,10 +17,10 @@ class ValidateFrameRange(pyblish.api.InstancePlugin): label = "Validate Frame Range" order = pype.api.ValidateContentsOrder - families = ["studio.animation", - "studio.pointcache", - "studio.camera", - "studio.renderlayer", + families = ["animation", + "pointcache", + "camera", + "renderlayer", "oolorbleed.vrayproxy"] def process(self, instance): diff --git a/pype/plugins/maya/publish/validate_instancer_content.py b/pype/plugins/maya/publish/validate_instancer_content.py index 913a3aa0cb..bc24c7fdbc 100644 --- a/pype/plugins/maya/publish/validate_instancer_content.py +++ b/pype/plugins/maya/publish/validate_instancer_content.py @@ -12,7 +12,7 @@ class ValidateInstancerContent(pyblish.api.InstancePlugin): """ order = pyblish.api.ValidatorOrder label = 'Instancer Content' - families = ["studio.instancer'] + families = ["instancer'] def process(self, instance): diff --git a/pype/plugins/maya/publish/validate_instancer_frame_ranges.py b/pype/plugins/maya/publish/validate_instancer_frame_ranges.py index dab1c50816..f528d298af 100644 --- a/pype/plugins/maya/publish/validate_instancer_frame_ranges.py +++ b/pype/plugins/maya/publish/validate_instancer_frame_ranges.py @@ -44,7 +44,7 @@ class ValidateInstancerFrameRanges(pyblish.api.InstancePlugin): """ order = pyblish.api.ValidatorOrder label = 'Instancer Cache Frame Ranges' - families = ["studio.instancer'] + families = ["instancer'] @classmethod def get_invalid(cls, instance): diff --git a/pype/plugins/maya/publish/validate_joints_hidden.py b/pype/plugins/maya/publish/validate_joints_hidden.py index cb408ca129..4e35cd8c74 100644 --- a/pype/plugins/maya/publish/validate_joints_hidden.py +++ b/pype/plugins/maya/publish/validate_joints_hidden.py @@ -19,7 +19,7 @@ class ValidateJointsHidden(pyblish.api.InstancePlugin): order = pype.api.ValidateContentsOrder hosts = ['maya'] - families = ["studio.rig'] + families = ["rig'] category = 'rig' version = (0, 1, 0) label = "Joints Hidden" diff --git a/pype/plugins/maya/publish/validate_look_contents.py b/pype/plugins/maya/publish/validate_look_contents.py index 01ceb41263..cee23f1b8f 100644 --- a/pype/plugins/maya/publish/validate_look_contents.py +++ b/pype/plugins/maya/publish/validate_look_contents.py @@ -18,7 +18,7 @@ class ValidateLookContents(pyblish.api.InstancePlugin): """ order = pype.api.ValidateContentsOrder - families = ["studio.look'] + families = ["look'] hosts = ['maya'] label = 'Look Data Contents' actions = [pype.maya.action.SelectInvalidAction] diff --git a/pype/plugins/maya/publish/validate_look_default_shaders_connections.py b/pype/plugins/maya/publish/validate_look_default_shaders_connections.py index 86b1fe28f1..622e503ad6 100644 --- a/pype/plugins/maya/publish/validate_look_default_shaders_connections.py +++ b/pype/plugins/maya/publish/validate_look_default_shaders_connections.py @@ -17,7 +17,7 @@ class ValidateLookDefaultShadersConnections(pyblish.api.InstancePlugin): """ order = pype.api.ValidateContentsOrder - families = ["studio.look'] + families = ["look'] hosts = ['maya'] label = 'Look Default Shader Connections' diff --git a/pype/plugins/maya/publish/validate_look_id_reference_edits.py b/pype/plugins/maya/publish/validate_look_id_reference_edits.py index a3f39d498e..91d6c030ce 100644 --- a/pype/plugins/maya/publish/validate_look_id_reference_edits.py +++ b/pype/plugins/maya/publish/validate_look_id_reference_edits.py @@ -17,7 +17,7 @@ class ValidateLookIdReferenceEdits(pyblish.api.InstancePlugin): """ order = pype.api.ValidateContentsOrder - families = ["studio.look'] + families = ["look'] hosts = ['maya'] label = 'Look Id Reference Edits' actions = [pype.maya.action.SelectInvalidAction, diff --git a/pype/plugins/maya/publish/validate_look_members_unique.py b/pype/plugins/maya/publish/validate_look_members_unique.py index 4d786e1528..87bda97a9c 100644 --- a/pype/plugins/maya/publish/validate_look_members_unique.py +++ b/pype/plugins/maya/publish/validate_look_members_unique.py @@ -23,7 +23,7 @@ class ValidateUniqueRelationshipMembers(pyblish.api.InstancePlugin): order = pype.api.ValidatePipelineOrder label = 'Look members unique' hosts = ['maya'] - families = ["studio.look'] + families = ["look'] actions = [pype.maya.action.SelectInvalidAction, pype.maya.action.GenerateUUIDsOnInvalidAction] diff --git a/pype/plugins/maya/publish/validate_look_no_default_shaders.py b/pype/plugins/maya/publish/validate_look_no_default_shaders.py index c5ce222d34..4c958afe5e 100644 --- a/pype/plugins/maya/publish/validate_look_no_default_shaders.py +++ b/pype/plugins/maya/publish/validate_look_no_default_shaders.py @@ -24,7 +24,7 @@ class ValidateLookNoDefaultShaders(pyblish.api.InstancePlugin): """ order = pype.api.ValidateContentsOrder + 0.01 - families = ["studio.look'] + families = ["look'] hosts = ['maya'] label = 'Look No Default Shaders' actions = [pype.maya.action.SelectInvalidAction] diff --git a/pype/plugins/maya/publish/validate_look_sets.py b/pype/plugins/maya/publish/validate_look_sets.py index 7ad300e0ec..1faaf09b55 100644 --- a/pype/plugins/maya/publish/validate_look_sets.py +++ b/pype/plugins/maya/publish/validate_look_sets.py @@ -37,7 +37,7 @@ class ValidateLookSets(pyblish.api.InstancePlugin): """ order = pype.api.ValidateContentsOrder - families = ["studio.look'] + families = ["look'] hosts = ['maya'] label = 'Look Sets' actions = [pype.maya.action.SelectInvalidAction] diff --git a/pype/plugins/maya/publish/validate_look_single_shader.py b/pype/plugins/maya/publish/validate_look_single_shader.py index 76a5479a02..eda06b5549 100644 --- a/pype/plugins/maya/publish/validate_look_single_shader.py +++ b/pype/plugins/maya/publish/validate_look_single_shader.py @@ -13,7 +13,7 @@ class ValidateSingleShader(pyblish.api.InstancePlugin): """ order = pype.api.ValidateContentsOrder - families = ["studio.look'] + families = ["look'] hosts = ['maya'] label = 'Look Single Shader Per Shape' actions = [pype.maya.action.SelectInvalidAction] diff --git a/pype/plugins/maya/publish/validate_mesh_has_uv.py b/pype/plugins/maya/publish/validate_mesh_has_uv.py index 388b9c15c3..4bd1cb6d82 100644 --- a/pype/plugins/maya/publish/validate_mesh_has_uv.py +++ b/pype/plugins/maya/publish/validate_mesh_has_uv.py @@ -47,7 +47,7 @@ class ValidateMeshHasUVs(pyblish.api.InstancePlugin): order = pype.api.ValidateMeshOrder hosts = ['maya'] - families = ["studio.model'] + families = ["model'] category = 'geometry' label = 'Mesh Has UVs' actions = [pype.maya.action.SelectInvalidAction] diff --git a/pype/plugins/maya/publish/validate_mesh_lamina_faces.py b/pype/plugins/maya/publish/validate_mesh_lamina_faces.py index 57faec0154..7f663040e8 100644 --- a/pype/plugins/maya/publish/validate_mesh_lamina_faces.py +++ b/pype/plugins/maya/publish/validate_mesh_lamina_faces.py @@ -14,7 +14,7 @@ class ValidateMeshLaminaFaces(pyblish.api.InstancePlugin): order = pype.api.ValidateMeshOrder hosts = ['maya'] - families = ["studio.model'] + families = ["model'] category = 'geometry' version = (0, 1, 0) label = 'Mesh Lamina Faces' diff --git a/pype/plugins/maya/publish/validate_mesh_no_negative_scale.py b/pype/plugins/maya/publish/validate_mesh_no_negative_scale.py index e97e9a1c68..723e998bab 100644 --- a/pype/plugins/maya/publish/validate_mesh_no_negative_scale.py +++ b/pype/plugins/maya/publish/validate_mesh_no_negative_scale.py @@ -19,7 +19,7 @@ class ValidateMeshNoNegativeScale(pyblish.api.Validator): order = pype.api.ValidateMeshOrder hosts = ['maya'] - families = ["studio.model'] + families = ["model'] label = 'Mesh No Negative Scale' actions = [pype.maya.action.SelectInvalidAction] diff --git a/pype/plugins/maya/publish/validate_mesh_non_manifold.py b/pype/plugins/maya/publish/validate_mesh_non_manifold.py index 5cc48e9bcc..461f18cf91 100644 --- a/pype/plugins/maya/publish/validate_mesh_non_manifold.py +++ b/pype/plugins/maya/publish/validate_mesh_non_manifold.py @@ -15,7 +15,7 @@ class ValidateMeshNonManifold(pyblish.api.Validator): order = pype.api.ValidateMeshOrder hosts = ['maya'] - families = ["studio.model'] + families = ["model'] label = 'Mesh Non-Manifold Vertices/Edges' actions = [pype.maya.action.SelectInvalidAction] diff --git a/pype/plugins/maya/publish/validate_mesh_non_zero_edge.py b/pype/plugins/maya/publish/validate_mesh_non_zero_edge.py index e0cb7c72b7..c29ae12b0e 100644 --- a/pype/plugins/maya/publish/validate_mesh_non_zero_edge.py +++ b/pype/plugins/maya/publish/validate_mesh_non_zero_edge.py @@ -17,7 +17,7 @@ class ValidateMeshNonZeroEdgeLength(pyblish.api.InstancePlugin): """ order = pype.api.ValidateMeshOrder - families = ["studio.model'] + families = ["model'] hosts = ['maya'] category = 'geometry' version = (0, 1, 0) diff --git a/pype/plugins/maya/publish/validate_mesh_normals_unlocked.py b/pype/plugins/maya/publish/validate_mesh_normals_unlocked.py index 67ee3255e8..1552f9084a 100644 --- a/pype/plugins/maya/publish/validate_mesh_normals_unlocked.py +++ b/pype/plugins/maya/publish/validate_mesh_normals_unlocked.py @@ -15,7 +15,7 @@ class ValidateMeshNormalsUnlocked(pyblish.api.Validator): order = pype.api.ValidateMeshOrder hosts = ['maya'] - families = ["studio.model'] + families = ["model'] category = 'geometry' version = (0, 1, 0) label = 'Mesh Normals Unlocked' diff --git a/pype/plugins/maya/publish/validate_mesh_shader_connections.py b/pype/plugins/maya/publish/validate_mesh_shader_connections.py index cb2d041736..e535922e91 100644 --- a/pype/plugins/maya/publish/validate_mesh_shader_connections.py +++ b/pype/plugins/maya/publish/validate_mesh_shader_connections.py @@ -75,7 +75,7 @@ class ValidateMeshShaderConnections(pyblish.api.InstancePlugin): order = pype.api.ValidateMeshOrder hosts = ['maya'] - families = ["studio.model'] + families = ["model'] label = "Mesh Shader Connections" actions = [pype.maya.action.SelectInvalidAction, pype.api.RepairAction] diff --git a/pype/plugins/maya/publish/validate_mesh_single_uv_set.py b/pype/plugins/maya/publish/validate_mesh_single_uv_set.py index acd18a8991..3c4527e663 100644 --- a/pype/plugins/maya/publish/validate_mesh_single_uv_set.py +++ b/pype/plugins/maya/publish/validate_mesh_single_uv_set.py @@ -17,7 +17,7 @@ class ValidateMeshSingleUVSet(pyblish.api.InstancePlugin): order = pype.api.ValidateMeshOrder hosts = ['maya'] - families = ["studio.model', 'studio.pointcache'] + families = ["model', 'studio.pointcache'] category = 'uv' optional = True version = (0, 1, 0) diff --git a/pype/plugins/maya/publish/validate_mesh_uv_set_map1.py b/pype/plugins/maya/publish/validate_mesh_uv_set_map1.py index 1cdb16568c..b9f1651760 100644 --- a/pype/plugins/maya/publish/validate_mesh_uv_set_map1.py +++ b/pype/plugins/maya/publish/validate_mesh_uv_set_map1.py @@ -17,7 +17,7 @@ class ValidateMeshUVSetMap1(pyblish.api.InstancePlugin): order = pype.api.ValidateMeshOrder hosts = ['maya'] - families = ["studio.model'] + families = ["model'] optional = True label = "Mesh has map1 UV Set" actions = [pype.maya.action.SelectInvalidAction, diff --git a/pype/plugins/maya/publish/validate_mesh_vertices_have_edges.py b/pype/plugins/maya/publish/validate_mesh_vertices_have_edges.py index c1d98961df..033c0a1c1b 100644 --- a/pype/plugins/maya/publish/validate_mesh_vertices_have_edges.py +++ b/pype/plugins/maya/publish/validate_mesh_vertices_have_edges.py @@ -59,7 +59,7 @@ class ValidateMeshVerticesHaveEdges(pyblish.api.InstancePlugin): order = pype.api.ValidateMeshOrder hosts = ['maya'] - families = ["studio.model'] + families = ["model'] category = 'geometry' label = 'Mesh Vertices Have Edges' actions = [pype.maya.action.SelectInvalidAction, diff --git a/pype/plugins/maya/publish/validate_model_content.py b/pype/plugins/maya/publish/validate_model_content.py index 0d5180ca81..ed73381f40 100644 --- a/pype/plugins/maya/publish/validate_model_content.py +++ b/pype/plugins/maya/publish/validate_model_content.py @@ -16,7 +16,7 @@ class ValidateModelContent(pyblish.api.InstancePlugin): order = pype.api.ValidateContentsOrder hosts = ["maya"] - families = ["studio.model"] + families = ["model"] label = "Model Content" actions = [pype.maya.action.SelectInvalidAction] diff --git a/pype/plugins/maya/publish/validate_no_animation.py b/pype/plugins/maya/publish/validate_no_animation.py index 19eb79173d..21749de7cb 100644 --- a/pype/plugins/maya/publish/validate_no_animation.py +++ b/pype/plugins/maya/publish/validate_no_animation.py @@ -17,7 +17,7 @@ class ValidateNoAnimation(pyblish.api.Validator): order = pype.api.ValidateContentsOrder label = "No Animation" hosts = ["maya"] - families = ["studio.model"] + families = ["model"] optional = True actions = [pype.maya.action.SelectInvalidAction] diff --git a/pype/plugins/maya/publish/validate_no_default_camera.py b/pype/plugins/maya/publish/validate_no_default_camera.py index b45b8124c1..8fa3f3dd71 100644 --- a/pype/plugins/maya/publish/validate_no_default_camera.py +++ b/pype/plugins/maya/publish/validate_no_default_camera.py @@ -15,7 +15,7 @@ class ValidateNoDefaultCameras(pyblish.api.InstancePlugin): order = pype.api.ValidateContentsOrder hosts = ['maya'] - families = ["studio.camera'] + families = ["camera'] version = (0, 1, 0) label = "No Default Cameras" actions = [pype.maya.action.SelectInvalidAction] diff --git a/pype/plugins/maya/publish/validate_no_namespace.py b/pype/plugins/maya/publish/validate_no_namespace.py index eca5510044..65ddf32315 100644 --- a/pype/plugins/maya/publish/validate_no_namespace.py +++ b/pype/plugins/maya/publish/validate_no_namespace.py @@ -18,7 +18,7 @@ class ValidateNoNamespace(pyblish.api.InstancePlugin): order = pype.api.ValidateContentsOrder hosts = ['maya'] - families = ["studio.model'] + families = ["model'] category = 'cleanup' version = (0, 1, 0) label = 'No Namespaces' diff --git a/pype/plugins/maya/publish/validate_no_null_transforms.py b/pype/plugins/maya/publish/validate_no_null_transforms.py index 6935643da7..889717078a 100644 --- a/pype/plugins/maya/publish/validate_no_null_transforms.py +++ b/pype/plugins/maya/publish/validate_no_null_transforms.py @@ -39,7 +39,7 @@ class ValidateNoNullTransforms(pyblish.api.InstancePlugin): order = pype.api.ValidateContentsOrder hosts = ['maya'] - families = ["studio.model'] + families = ["model'] category = 'cleanup' version = (0, 1, 0) label = 'No Empty/Null Transforms' diff --git a/pype/plugins/maya/publish/validate_no_unknown_nodes.py b/pype/plugins/maya/publish/validate_no_unknown_nodes.py index ff82202022..c79e66fba9 100644 --- a/pype/plugins/maya/publish/validate_no_unknown_nodes.py +++ b/pype/plugins/maya/publish/validate_no_unknown_nodes.py @@ -18,7 +18,7 @@ class ValidateNoUnknownNodes(pyblish.api.InstancePlugin): order = pype.api.ValidateContentsOrder hosts = ['maya'] - families = ["studio.model', 'studio.rig'] + families = ["model', 'studio.rig'] optional = True label = "Unknown Nodes" actions = [pype.maya.action.SelectInvalidAction] diff --git a/pype/plugins/maya/publish/validate_no_vraymesh.py b/pype/plugins/maya/publish/validate_no_vraymesh.py index a172191015..27e5e6a006 100644 --- a/pype/plugins/maya/publish/validate_no_vraymesh.py +++ b/pype/plugins/maya/publish/validate_no_vraymesh.py @@ -7,7 +7,7 @@ class ValidateNoVRayMesh(pyblish.api.InstancePlugin): order = pyblish.api.ValidatorOrder label = 'No V-Ray Proxies (VRayMesh)' - families = ["studio.pointcache"] + families = ["pointcache"] def process(self, instance): diff --git a/pype/plugins/maya/publish/validate_node_ids.py b/pype/plugins/maya/publish/validate_node_ids.py index 4f378488c9..c3b989f282 100644 --- a/pype/plugins/maya/publish/validate_node_ids.py +++ b/pype/plugins/maya/publish/validate_node_ids.py @@ -17,13 +17,13 @@ class ValidateNodeIDs(pyblish.api.InstancePlugin): order = pype.api.ValidatePipelineOrder label = 'Instance Nodes Have ID' hosts = ['maya'] - families = ["studio.model", - "studio.look", - "studio.rig", - "studio.pointcache", - "studio.animation", - "studio.setdress", - "studio.yetiRig"] + families = ["model", + "look", + "rig", + "pointcache", + "animation", + "setdress", + "yetiRig"] actions = [pype.maya.action.SelectInvalidAction, pype.maya.action.GenerateUUIDsOnInvalidAction] diff --git a/pype/plugins/maya/publish/validate_node_ids_deformed_shapes.py b/pype/plugins/maya/publish/validate_node_ids_deformed_shapes.py index dddeb9759c..7f6a1ddb60 100644 --- a/pype/plugins/maya/publish/validate_node_ids_deformed_shapes.py +++ b/pype/plugins/maya/publish/validate_node_ids_deformed_shapes.py @@ -17,7 +17,7 @@ class ValidateNodeIdsDeformedShape(pyblish.api.InstancePlugin): """ order = pype.api.ValidateContentsOrder - families = ["studio.look'] + families = ["look'] hosts = ['maya'] label = 'Deformed shape ids' actions = [pype.maya.action.SelectInvalidAction, pype.api.RepairAction] diff --git a/pype/plugins/maya/publish/validate_node_ids_related.py b/pype/plugins/maya/publish/validate_node_ids_related.py index f9a1f0db73..aab6cb8003 100644 --- a/pype/plugins/maya/publish/validate_node_ids_related.py +++ b/pype/plugins/maya/publish/validate_node_ids_related.py @@ -15,9 +15,9 @@ class ValidateNodeIDsRelated(pyblish.api.InstancePlugin): order = pype.api.ValidatePipelineOrder label = 'Node Ids Related (ID)' hosts = ['maya'] - families = ["studio.model", - "studio.look", - "studio.rig"] + families = ["model", + "look", + "rig"] optional = True actions = [pype.maya.action.SelectInvalidAction, diff --git a/pype/plugins/maya/publish/validate_node_ids_unique.py b/pype/plugins/maya/publish/validate_node_ids_unique.py index 702f5a7961..31e5e673de 100644 --- a/pype/plugins/maya/publish/validate_node_ids_unique.py +++ b/pype/plugins/maya/publish/validate_node_ids_unique.py @@ -15,10 +15,10 @@ class ValidateNodeIdsUnique(pyblish.api.InstancePlugin): order = pype.api.ValidatePipelineOrder label = 'Non Duplicate Instance Members (ID)' hosts = ['maya'] - families = ["studio.model", - "studio.look", - "studio.rig", - "studio.yetiRig"] + families = ["model", + "look", + "rig", + "yetiRig"] actions = [pype.maya.action.SelectInvalidAction, pype.maya.action.GenerateUUIDsOnInvalidAction] diff --git a/pype/plugins/maya/publish/validate_node_no_ghosting.py b/pype/plugins/maya/publish/validate_node_no_ghosting.py index 13c38e024f..c0d6d1e373 100644 --- a/pype/plugins/maya/publish/validate_node_no_ghosting.py +++ b/pype/plugins/maya/publish/validate_node_no_ghosting.py @@ -19,7 +19,7 @@ class ValidateNodeNoGhosting(pyblish.api.InstancePlugin): order = pype.api.ValidateContentsOrder hosts = ['maya'] - families = ["studio.model', 'studio.rig'] + families = ["model', 'studio.rig'] label = "No Ghosting" actions = [pype.maya.action.SelectInvalidAction] diff --git a/pype/plugins/maya/publish/validate_render_image_rule.py b/pype/plugins/maya/publish/validate_render_image_rule.py index 8b04c67520..762cf963f1 100644 --- a/pype/plugins/maya/publish/validate_render_image_rule.py +++ b/pype/plugins/maya/publish/validate_render_image_rule.py @@ -17,7 +17,7 @@ class ValidateRenderImageRule(pyblish.api.ContextPlugin): order = pype.api.ValidateContentsOrder label = "Images File Rule (Workspace)" hosts = ["maya"] - families = ["studio.renderlayer"] + families = ["renderlayer"] def process(self, context): diff --git a/pype/plugins/maya/publish/validate_render_no_default_cameras.py b/pype/plugins/maya/publish/validate_render_no_default_cameras.py index 18d18ea699..cd9c3db9e7 100644 --- a/pype/plugins/maya/publish/validate_render_no_default_cameras.py +++ b/pype/plugins/maya/publish/validate_render_no_default_cameras.py @@ -11,7 +11,7 @@ class ValidateRenderNoDefaultCameras(pyblish.api.InstancePlugin): order = pype.api.ValidateContentsOrder hosts = ['maya'] - families = ["studio.renderlayer'] + families = ["renderlayer'] label = "No Default Cameras Renderable" actions = [pype.maya.action.SelectInvalidAction] diff --git a/pype/plugins/maya/publish/validate_render_single_camera.py b/pype/plugins/maya/publish/validate_render_single_camera.py index bbab6c4d0a..d39dfa8ae4 100644 --- a/pype/plugins/maya/publish/validate_render_single_camera.py +++ b/pype/plugins/maya/publish/validate_render_single_camera.py @@ -19,7 +19,7 @@ class ValidateRenderSingleCamera(pyblish.api.InstancePlugin): order = pype.api.ValidateContentsOrder hosts = ['maya'] - families = ["studio.renderlayer'] + families = ["renderlayer'] label = "Render Single Camera" actions = [pype.maya.action.SelectInvalidAction] diff --git a/pype/plugins/maya/publish/validate_renderlayer_aovs.py b/pype/plugins/maya/publish/validate_renderlayer_aovs.py index 6873e4e985..e14c92a8b4 100644 --- a/pype/plugins/maya/publish/validate_renderlayer_aovs.py +++ b/pype/plugins/maya/publish/validate_renderlayer_aovs.py @@ -24,7 +24,7 @@ class ValidateRenderLayerAOVs(pyblish.api.InstancePlugin): order = pyblish.api.ValidatorOrder + 0.1 label = "Render Passes / AOVs Are Registered" hosts = ["maya"] - families = ["studio.renderlayer"] + families = ["renderlayer"] actions = [pype.maya.action.SelectInvalidAction] def process(self, instance): diff --git a/pype/plugins/maya/publish/validate_rendersettings.py b/pype/plugins/maya/publish/validate_rendersettings.py index 2fe91aa699..4007404670 100644 --- a/pype/plugins/maya/publish/validate_rendersettings.py +++ b/pype/plugins/maya/publish/validate_rendersettings.py @@ -30,7 +30,7 @@ class ValidateRenderSettings(pyblish.api.InstancePlugin): order = pype.api.ValidateContentsOrder label = "Render Settings" hosts = ["maya"] - families = ["studio.renderlayer"] + families = ["renderlayer"] actions = [pype.api.RepairAction] DEFAULT_PADDING = 4 diff --git a/pype/plugins/maya/publish/validate_rig_contents.py b/pype/plugins/maya/publish/validate_rig_contents.py index f58c554c9b..0a9616ba1f 100644 --- a/pype/plugins/maya/publish/validate_rig_contents.py +++ b/pype/plugins/maya/publish/validate_rig_contents.py @@ -16,7 +16,7 @@ class ValidateRigContents(pyblish.api.InstancePlugin): order = pype.api.ValidateContentsOrder label = "Rig Contents" hosts = ["maya"] - families = ["studio.rig"] + families = ["rig"] accepted_output = ["mesh", "transform"] accepted_controllers = ["transform"] diff --git a/pype/plugins/maya/publish/validate_rig_controllers.py b/pype/plugins/maya/publish/validate_rig_controllers.py index f1434d0414..06746f2dbb 100644 --- a/pype/plugins/maya/publish/validate_rig_controllers.py +++ b/pype/plugins/maya/publish/validate_rig_controllers.py @@ -28,7 +28,7 @@ class ValidateRigControllers(pyblish.api.InstancePlugin): order = pype.api.ValidateContentsOrder + 0.05 label = "Rig Controllers" hosts = ["maya"] - families = ["studio.rig"] + families = ["rig"] actions = [pype.api.RepairAction, pype.maya.action.SelectInvalidAction] diff --git a/pype/plugins/maya/publish/validate_rig_controllers_arnold_attributes.py b/pype/plugins/maya/publish/validate_rig_controllers_arnold_attributes.py index c085150c05..525a15a4e5 100644 --- a/pype/plugins/maya/publish/validate_rig_controllers_arnold_attributes.py +++ b/pype/plugins/maya/publish/validate_rig_controllers_arnold_attributes.py @@ -29,7 +29,7 @@ class ValidateRigControllersArnoldAttributes(pyblish.api.InstancePlugin): order = pype.api.ValidateContentsOrder + 0.05 label = "Rig Controllers (Arnold Attributes)" hosts = ["maya"] - families = ["studio.rig"] + families = ["rig"] actions = [pype.api.RepairAction, pype.maya.action.SelectInvalidAction] diff --git a/pype/plugins/maya/publish/validate_rig_out_set_node_ids.py b/pype/plugins/maya/publish/validate_rig_out_set_node_ids.py index 2aaf6f304a..3dde6bc83d 100644 --- a/pype/plugins/maya/publish/validate_rig_out_set_node_ids.py +++ b/pype/plugins/maya/publish/validate_rig_out_set_node_ids.py @@ -17,7 +17,7 @@ class ValidateRigOutSetNodeIds(pyblish.api.InstancePlugin): """ order = pype.api.ValidateContentsOrder - families = ["studio.rig"] + families = ["rig"] hosts = ['maya'] label = 'Rig Out Set Node Ids' actions = [pype.maya.action.SelectInvalidAction, pype.api.RepairAction] diff --git a/pype/plugins/maya/publish/validate_scene_set_workspace.py b/pype/plugins/maya/publish/validate_scene_set_workspace.py index 2b2dc6e957..33dfacd4e3 100644 --- a/pype/plugins/maya/publish/validate_scene_set_workspace.py +++ b/pype/plugins/maya/publish/validate_scene_set_workspace.py @@ -30,7 +30,7 @@ class ValidateSceneSetWorkspace(pyblish.api.ContextPlugin): order = pype.api.ValidatePipelineOrder hosts = ['maya'] - families = ["studio.model'] + families = ["model'] category = 'scene' version = (0, 1, 0) label = 'Maya Workspace Set' diff --git a/pype/plugins/maya/publish/validate_setdress_namespaces.py b/pype/plugins/maya/publish/validate_setdress_namespaces.py index f7ea46ecbc..0d3b75ca37 100644 --- a/pype/plugins/maya/publish/validate_setdress_namespaces.py +++ b/pype/plugins/maya/publish/validate_setdress_namespaces.py @@ -17,7 +17,7 @@ class ValidateSetdressNamespaces(pyblish.api.InstancePlugin): label = "Validate Setdress Namespaces" order = pyblish.api.ValidatorOrder - families = ["studio.setdress"] + families = ["setdress"] actions = [pype.maya.action.SelectInvalidAction] def process(self, instance): diff --git a/pype/plugins/maya/publish/validate_setdress_transforms.py b/pype/plugins/maya/publish/validate_setdress_transforms.py index 5022909cc3..918f4670be 100644 --- a/pype/plugins/maya/publish/validate_setdress_transforms.py +++ b/pype/plugins/maya/publish/validate_setdress_transforms.py @@ -27,7 +27,7 @@ class ValidateSetDressModelTransforms(pyblish.api.InstancePlugin): order = pyblish.api.ValidatorOrder + 0.49 label = "Setdress Model Transforms" - families = ["studio.setdress"] + families = ["setdress"] actions = [pype.maya.action.SelectInvalidAction, pype.api.RepairAction] diff --git a/pype/plugins/maya/publish/validate_shape_default_names.py b/pype/plugins/maya/publish/validate_shape_default_names.py index 4683ed8332..faf0725291 100644 --- a/pype/plugins/maya/publish/validate_shape_default_names.py +++ b/pype/plugins/maya/publish/validate_shape_default_names.py @@ -33,7 +33,7 @@ class ValidateShapeDefaultNames(pyblish.api.InstancePlugin): order = pype.api.ValidateContentsOrder hosts = ['maya'] - families = ["studio.model'] + families = ["model'] category = 'cleanup' optional = True version = (0, 1, 0) diff --git a/pype/plugins/maya/publish/validate_shape_render_stats.py b/pype/plugins/maya/publish/validate_shape_render_stats.py index d98a0463fe..600651098b 100644 --- a/pype/plugins/maya/publish/validate_shape_render_stats.py +++ b/pype/plugins/maya/publish/validate_shape_render_stats.py @@ -11,7 +11,7 @@ class ValidateShapeRenderStats(pyblish.api.Validator): order = pype.api.ValidateMeshOrder hosts = ['maya'] - families = ["studio.model'] + families = ["model'] label = 'Shape Default Render Stats' actions = [pype.maya.action.SelectInvalidAction, pype.api.RepairAction] diff --git a/pype/plugins/maya/publish/validate_single_assembly.py b/pype/plugins/maya/publish/validate_single_assembly.py index c8504d198c..8a0e7b2cc4 100644 --- a/pype/plugins/maya/publish/validate_single_assembly.py +++ b/pype/plugins/maya/publish/validate_single_assembly.py @@ -19,7 +19,7 @@ class ValidateSingleAssembly(pyblish.api.InstancePlugin): order = pype.api.ValidateContentsOrder hosts = ['maya'] - families = ["studio.rig', 'studio.animation'] + families = ["rig', 'studio.animation'] label = 'Single Assembly' def process(self, instance): diff --git a/pype/plugins/maya/publish/validate_step_size.py b/pype/plugins/maya/publish/validate_step_size.py index 16f1628b1d..a3df3e41a6 100644 --- a/pype/plugins/maya/publish/validate_step_size.py +++ b/pype/plugins/maya/publish/validate_step_size.py @@ -12,7 +12,7 @@ class ValidateStepSize(pyblish.api.InstancePlugin): order = pype.api.ValidateContentsOrder label = 'Step size' - families = ["studio.camera', + families = ["camera', 'studio.pointcache', 'studio.animation'] actions = [pype.maya.action.SelectInvalidAction] diff --git a/pype/plugins/maya/publish/validate_transform_naming_suffix.py b/pype/plugins/maya/publish/validate_transform_naming_suffix.py index 232f41d5ed..b6e2fc51cb 100644 --- a/pype/plugins/maya/publish/validate_transform_naming_suffix.py +++ b/pype/plugins/maya/publish/validate_transform_naming_suffix.py @@ -33,7 +33,7 @@ class ValidateTransformNamingSuffix(pyblish.api.InstancePlugin): order = pype.api.ValidateContentsOrder hosts = ['maya'] - families = ["studio.model'] + families = ["model'] category = 'cleanup' optional = True version = (0, 1, 0) diff --git a/pype/plugins/maya/publish/validate_transform_zero.py b/pype/plugins/maya/publish/validate_transform_zero.py index 33182476db..0d2c3beade 100644 --- a/pype/plugins/maya/publish/validate_transform_zero.py +++ b/pype/plugins/maya/publish/validate_transform_zero.py @@ -16,7 +16,7 @@ class ValidateTransformZero(pyblish.api.Validator): order = pype.api.ValidateContentsOrder hosts = ["maya"] - families = ["studio.model"] + families = ["model"] category = "geometry" version = (0, 1, 0) label = "Transform Zero (Freeze)" diff --git a/pype/plugins/maya/publish/validate_vrayproxy_members.py b/pype/plugins/maya/publish/validate_vrayproxy_members.py index c0a377092b..8669056570 100644 --- a/pype/plugins/maya/publish/validate_vrayproxy_members.py +++ b/pype/plugins/maya/publish/validate_vrayproxy_members.py @@ -12,7 +12,7 @@ class ValidateVrayProxyMembers(pyblish.api.InstancePlugin): order = pyblish.api.ValidatorOrder label = 'VRay Proxy Members' hosts = ['maya'] - families = ["studio.vrayproxy'] + families = ["vrayproxy'] actions = [pype.maya.action.SelectInvalidAction] def process(self, instance): diff --git a/pype/plugins/maya/publish/validate_yeti_renderscript_callbacks.py b/pype/plugins/maya/publish/validate_yeti_renderscript_callbacks.py index a9a95f7664..1bb27c46e9 100644 --- a/pype/plugins/maya/publish/validate_yeti_renderscript_callbacks.py +++ b/pype/plugins/maya/publish/validate_yeti_renderscript_callbacks.py @@ -23,7 +23,7 @@ class ValidateYetiRenderScriptCallbacks(pyblish.api.InstancePlugin): order = pype.api.ValidateContentsOrder label = "Yeti Render Script Callbacks" hosts = ["maya"] - families = ["studio.renderlayer"] + families = ["renderlayer"] def process(self, instance): diff --git a/pype/plugins/maya/publish/validate_yeti_rig_input_in_instance.py b/pype/plugins/maya/publish/validate_yeti_rig_input_in_instance.py index a9b4bb9712..51872d04e1 100644 --- a/pype/plugins/maya/publish/validate_yeti_rig_input_in_instance.py +++ b/pype/plugins/maya/publish/validate_yeti_rig_input_in_instance.py @@ -10,7 +10,7 @@ class ValidateYetiRigInputShapesInInstance(pyblish.api.Validator): order = pype.api.ValidateContentsOrder hosts = ["maya"] - families = ["studio.yetiRig"] + families = ["yetiRig"] label = "Yeti Rig Input Shapes In Instance" actions = [pype.maya.action.SelectInvalidAction] diff --git a/pype/plugins/maya/publish/validate_yeti_rig_settings.py b/pype/plugins/maya/publish/validate_yeti_rig_settings.py index b88d5cbeee..d6ff93a573 100644 --- a/pype/plugins/maya/publish/validate_yeti_rig_settings.py +++ b/pype/plugins/maya/publish/validate_yeti_rig_settings.py @@ -4,7 +4,7 @@ import pyblish.api class ValidateYetiRigSettings(pyblish.api.InstancePlugin): order = pyblish.api.ValidatorOrder label = "Validate Yeti Rig Settings" - families = ["studio.yetiRig"] + families = ["yetiRig"] def process(self, instance): diff --git a/pype/plugins/maya/publish/validate_yetirig_cache_state.py b/pype/plugins/maya/publish/validate_yetirig_cache_state.py index 0a65ae97e2..405aeb3fd7 100644 --- a/pype/plugins/maya/publish/validate_yetirig_cache_state.py +++ b/pype/plugins/maya/publish/validate_yetirig_cache_state.py @@ -19,7 +19,7 @@ class ValidateYetiRigCacheState(pyblish.api.InstancePlugin): order = pyblish.api.ValidatorOrder label = "Yeti Rig Cache State" hosts = ["maya"] - families = ["studio.yetiRig"] + families = ["yetiRig"] actions = [pype.action.RepairAction, pype.maya.action.SelectInvalidAction] diff --git a/pype/plugins/nuke/create/CrateWriteExr.py b/pype/plugins/nuke/create/create_write_exr.py similarity index 100% rename from pype/plugins/nuke/create/CrateWriteExr.py rename to pype/plugins/nuke/create/create_write_exr.py diff --git a/pype/plugins/nuke/publish/collect_current_file.py b/pype/plugins/nuke/publish/collect_current_file.py index d4a7b3a419..0d4867f08b 100644 --- a/pype/plugins/nuke/publish/collect_current_file.py +++ b/pype/plugins/nuke/publish/collect_current_file.py @@ -7,7 +7,7 @@ class CollectCurrentFile(pyblish.api.ContextPlugin): order = pyblish.api.CollectorOrder - 0.1 label = "Collect Current File" hosts = ["nuke"] - families = ["studio.workfile"] + families = ["workfile"] def process(self, context): import os diff --git a/pype/plugins/nuke/publish/extract_script_save.py b/pype/plugins/nuke/publish/extract_script_save.py index aed05efb64..b0eeb47886 100644 --- a/pype/plugins/nuke/publish/extract_script_save.py +++ b/pype/plugins/nuke/publish/extract_script_save.py @@ -8,7 +8,7 @@ class ExtractScriptSave(pyblish.api.InstancePlugin): order = pyblish.api.ExtractorOrder - 0.49 label = "Script Save" hosts = ["nuke"] - families = ["studio.saver"] + families = ["saver"] def process(self, instance): diff --git a/pype/setdress_api.py b/pype/setdress_api.py index f6dcf95065..c6de0a4f74 100644 --- a/pype/setdress_api.py +++ b/pype/setdress_api.py @@ -137,7 +137,7 @@ def load_package(filepath, name, namespace=None): # manager # for container in containers: # cmds.setAttr("%s.id" % container, - # "studio.setdress.container", + # "setdress.container", # type="string") # TODO: Lock all loaded nodes diff --git a/pype/vendor/scriptsmenu/__init__.py b/pype/vendor/scriptsmenu/__init__.py new file mode 100644 index 0000000000..a881f73533 --- /dev/null +++ b/pype/vendor/scriptsmenu/__init__.py @@ -0,0 +1,5 @@ +from .scriptsmenu import ScriptsMenu +from . import version + +__all__ = ["ScriptsMenu"] +__version__ = version.version diff --git a/pype/vendor/scriptsmenu/action.py b/pype/vendor/scriptsmenu/action.py new file mode 100644 index 0000000000..5e68628406 --- /dev/null +++ b/pype/vendor/scriptsmenu/action.py @@ -0,0 +1,208 @@ +import os + +from .vendor.Qt import QtWidgets + + +class Action(QtWidgets.QAction): + """Custom Action widget""" + + def __init__(self, parent=None): + + QtWidgets.QAction.__init__(self, parent) + + self._root = None + self._tags = list() + self._command = None + self._sourcetype = None + self._iconfile = None + self._label = None + + self._COMMAND = """import imp +f, filepath, descr = imp.find_module('{module_name}', ['{dirname}']) +module = imp.load_module('{module_name}', f, filepath, descr) +module.{module_name}()""" + + @property + def root(self): + return self._root + + @root.setter + def root(self, value): + self._root = value + + @property + def tags(self): + return self._tags + + @tags.setter + def tags(self, value): + self._tags = value + + @property + def command(self): + return self._command + + @command.setter + def command(self, value): + """ + Store the command in the QAction + + Args: + value (str): the full command which will be executed when clicked + + Return: + None + """ + self._command = value + + @property + def sourcetype(self): + return self._sourcetype + + @sourcetype.setter + def sourcetype(self, value): + """ + Set the command type to get the correct execution of the command given + + Args: + value (str): the name of the command type + + Returns: + None + + """ + self._sourcetype = value + + @property + def iconfile(self): + return self._iconfile + + @iconfile.setter + def iconfile(self, value): + """Store the path to the image file which needs to be displayed + + Args: + value (str): the path to the image + + Returns: + None + """ + self._iconfile = value + + @property + def label(self): + return self._label + + @label.setter + def label(self, value): + """ + Set the abbreviation which will be used as overlay text in the shelf + + Args: + value (str): an abbreviation of the name + + Returns: + None + + """ + self._label = value + + def run_command(self): + """ + Run the command of the instance or copy the command to the active shelf + based on the current modifiers. + + If callbacks have been registered with fouind modifier integer the + function will trigger all callbacks. When a callback function returns a + non zero integer it will not execute the action's command + + """ + + # get the current application and its linked keyboard modifiers + app = QtWidgets.QApplication.instance() + modifiers = app.keyboardModifiers() + + # If the menu has a callback registered for the current modifier + # we run the callback instead of the action itself. + registered = self._root.registered_callbacks + callbacks = registered.get(int(modifiers), []) + for callback in callbacks: + signal = callback(self) + if signal != 0: + # Exit function on non-zero return code + return + + exec(self.process_command()) + + def process_command(self): + """ + Check if the command is a file which needs to be launched and if it + has a relative path, if so return the full path by expanding + environment variables. Wrap any mel command in a executable string + for Python and return the string if the source type is + + Add your own source type and required process to ensure callback + is stored correctly. + + An example of a process is the sourcetype is MEL + (Maya Embedded Language) as Python cannot run it on its own so it + needs to be wrapped in a string in which we explicitly import mel and + run it as a mel.eval. The string is then parsed to python as + exec("command"). + + Returns: + str: a clean command which can be used + + """ + if self._sourcetype == "python": + return self._command + + if self._sourcetype == "mel": + # Escape single quotes + conversion = self._command.replace("'", "\\'") + return "import maya; maya.mel.eval('{}')".format(conversion) + + if self._sourcetype == "file": + if os.path.isabs(self._command): + filepath = self._command + else: + filepath = os.path.normpath(os.path.expandvars(self._command)) + + return self._wrap_filepath(filepath) + + def has_tag(self, tag): + """Check whether the tag matches with the action's tags. + + A partial match will also return True, for example tag `a` will match + correctly with the `ape` tag on the Action. + + Args: + tag (str): The tag + + Returns + bool: Whether the action is tagged with given tag + + """ + + for tagitem in self.tags: + if tag not in tagitem: + continue + return True + + return False + + def _wrap_filepath(self, file_path): + """Create a wrapped string for the python command + + Args: + file_path (str): the filepath of a script + + Returns: + str: the wrapped command + """ + + dirname = os.path.dirname(r"{}".format(file_path)) + dirpath = dirname.replace("\\", "/") + module_name = os.path.splitext(os.path.basename(file_path))[0] + + return self._COMMAND.format(module_name=module_name, dirname=dirpath) diff --git a/pype/vendor/scriptsmenu/launchformaya.py b/pype/vendor/scriptsmenu/launchformaya.py new file mode 100644 index 0000000000..7ad66f0ad2 --- /dev/null +++ b/pype/vendor/scriptsmenu/launchformaya.py @@ -0,0 +1,137 @@ +import logging + +import maya.cmds as cmds +import maya.mel as mel + +import scriptsmenu +from .vendor.Qt import QtCore, QtWidgets + +log = logging.getLogger(__name__) + + +def register_repeat_last(action): + """Register the action in repeatLast to ensure the RepeatLast hotkey works + + Args: + action (action.Action): Action wigdet instance + + Returns: + int: 0 + + """ + command = action.process_command() + command = command.replace("\n", "; ") + # Register command to Maya (mel) + cmds.repeatLast(addCommand='python("{}")'.format(command), + addCommandLabel=action.label) + + return 0 + + +def to_shelf(action): + """Copy clicked menu item to the currently active Maya shelf + Args: + action (action.Action): the action instance which is clicked + + Returns: + int: 1 + + """ + + shelftoplevel = mel.eval("$gShelfTopLevel = $gShelfTopLevel;") + current_active_shelf = cmds.tabLayout(shelftoplevel, + query=True, + selectTab=True) + + cmds.shelfButton(command=action.process_command(), + sourceType="python", + parent=current_active_shelf, + image=action.iconfile or "pythonFamily.png", + annotation=action.statusTip(), + imageOverlayLabel=action.label or "") + + return 1 + + +def _maya_main_window(): + """Return Maya's main window""" + for obj in QtWidgets.QApplication.topLevelWidgets(): + if obj.objectName() == 'MayaWindow': + return obj + raise RuntimeError('Could not find MayaWindow instance') + + +def _maya_main_menubar(): + """Retrieve the main menubar of the Maya window""" + mayawindow = _maya_main_window() + menubar = [i for i in mayawindow.children() + if isinstance(i, QtWidgets.QMenuBar)] + + assert len(menubar) == 1, "Error, could not find menu bar!" + + return menubar[0] + + +def find_scripts_menu(title, parent): + """ + Check if the menu exists with the given title in the parent + + Args: + title (str): the title name of the scripts menu + + parent (QtWidgets.QMenuBar): the menubar to check + + Returns: + QtWidgets.QMenu or None + + """ + + menu = None + search = [i for i in parent.children() if + isinstance(i, scriptsmenu.ScriptsMenu) + and i.title() == title] + + if search: + assert len(search) < 2, ("Multiple instances of menu '{}' " + "in menu bar".format(title)) + menu = search[0] + + return menu + + +def main(title="Scripts", parent=None, objectName=None): + """Build the main scripts menu in Maya + + Args: + title (str): name of the menu in the application + + parent (QtWidgets.QtMenuBar): the parent object for the menu + + objectName (str): custom objectName for scripts menu + + Returns: + scriptsmenu.ScriptsMenu instance + + """ + + mayamainbar = parent or _maya_main_menubar() + try: + # check menu already exists + menu = find_scripts_menu(title, mayamainbar) + if not menu: + log.info("Attempting to build menu ...") + object_name = objectName or title.lower() + menu = scriptsmenu.ScriptsMenu(title=title, + parent=mayamainbar, + objectName=object_name) + except Exception as e: + log.error(e) + return + + # Register control + shift callback to add to shelf (maya behavior) + modifiers = QtCore.Qt.ControlModifier | QtCore.Qt.ShiftModifier + menu.register_callback(int(modifiers), to_shelf) + + menu.register_callback(0, register_repeat_last) + + return menu diff --git a/pype/vendor/scriptsmenu/launchfornuke.py b/pype/vendor/scriptsmenu/launchfornuke.py new file mode 100644 index 0000000000..23e4ed1b4d --- /dev/null +++ b/pype/vendor/scriptsmenu/launchfornuke.py @@ -0,0 +1,36 @@ +import scriptsmenu +from .vendor.Qt import QtWidgets + + +def _nuke_main_window(): + """Return Nuke's main window""" + for obj in QtWidgets.QApplication.topLevelWidgets(): + if (obj.inherits('QMainWindow') and + obj.metaObject().className() == 'Foundry::UI::DockMainWindow'): + return obj + raise RuntimeError('Could not find Nuke MainWindow instance') + + +def _nuke_main_menubar(): + """Retrieve the main menubar of the Nuke window""" + nuke_window = _nuke_main_window() + menubar = [i for i in nuke_window.children() + if isinstance(i, QtWidgets.QMenuBar)] + + assert len(menubar) == 1, "Error, could not find menu bar!" + return menubar[0] + + +def main(title="Scripts"): + # Register control + shift callback to add to shelf (Nuke behavior) + # modifiers = QtCore.Qt.ControlModifier | QtCore.Qt.ShiftModifier + # menu.register_callback(modifiers, to_shelf) + nuke_main_bar = _nuke_main_menubar() + for nuke_bar in nuke_main_bar.children(): + if isinstance(nuke_bar, scriptsmenu.ScriptsMenu): + if nuke_bar.title() == title: + menu = nuke_bar + return menu + + menu = scriptsmenu.ScriptsMenu(title=title, parent=nuke_main_bar) + return menu \ No newline at end of file diff --git a/pype/vendor/scriptsmenu/scriptsmenu.py b/pype/vendor/scriptsmenu/scriptsmenu.py new file mode 100644 index 0000000000..e2b7ff96c7 --- /dev/null +++ b/pype/vendor/scriptsmenu/scriptsmenu.py @@ -0,0 +1,316 @@ +import os +import json +import logging +from collections import defaultdict + +from .vendor.Qt import QtWidgets, QtCore +from . import action + +log = logging.getLogger(__name__) + + +class ScriptsMenu(QtWidgets.QMenu): + """A Qt menu that displays a list of searchable actions""" + + updated = QtCore.Signal(QtWidgets.QMenu) + + def __init__(self, *args, **kwargs): + """Initialize Scripts menu + + Args: + title (str): the name of the root menu which will be created + + parent (QtWidgets.QObject) : the QObject to parent the menu to + + Returns: + None + + """ + QtWidgets.QMenu.__init__(self, *args, **kwargs) + + self.searchbar = None + self.update_action = None + + self._script_actions = [] + self._callbacks = defaultdict(list) + + # Automatically add it to the parent menu + parent = kwargs.get("parent", None) + if parent: + parent.addMenu(self) + + objectname = kwargs.get("objectName", "scripts") + title = kwargs.get("title", "Scripts") + self.setObjectName(objectname) + self.setTitle(title) + + # add default items in the menu + self.create_default_items() + + def on_update(self): + self.updated.emit(self) + + @property + def registered_callbacks(self): + return self._callbacks.copy() + + def create_default_items(self): + """Add a search bar to the top of the menu given""" + + # create widget and link function + searchbar = QtWidgets.QLineEdit() + searchbar.setFixedWidth(120) + searchbar.setPlaceholderText("Search ...") + searchbar.textChanged.connect(self._update_search) + self.searchbar = searchbar + + # create widget holder + searchbar_action = QtWidgets.QWidgetAction(self) + + # add widget to widget holder + searchbar_action.setDefaultWidget(self.searchbar) + searchbar_action.setObjectName("Searchbar") + + # add update button and link function + update_action = QtWidgets.QAction(self) + update_action.setObjectName("Update Scripts") + update_action.setText("Update Scripts") + update_action.setVisible(False) + update_action.triggered.connect(self.on_update) + self.update_action = update_action + + # add action to menu + self.addAction(searchbar_action) + self.addAction(update_action) + + # add separator object + separator = self.addSeparator() + separator.setObjectName("separator") + + def add_menu(self, title, parent=None): + """Create a sub menu for a parent widget + + Args: + parent(QtWidgets.QWidget): the object to parent the menu to + + title(str): the title of the menu + + Returns: + QtWidget.QMenu instance + """ + + if not parent: + parent = self + + menu = QtWidgets.QMenu(parent, title) + menu.setTitle(title) + menu.setObjectName(title) + menu.setTearOffEnabled(True) + parent.addMenu(menu) + + return menu + + def add_script(self, parent, title, command, sourcetype, icon=None, + tags=None, label=None, tooltip=None): + """Create an action item which runs a script when clicked + + Args: + parent (QtWidget.QWidget): The widget to parent the item to + + title (str): The text which will be displayed in the menu + + command (str): The command which needs to be run when the item is + clicked. + + sourcetype (str): The type of command, the way the command is + processed is based on the source type. + + icon (str): The file path of an icon to display with the menu item + + tags (list, tuple): Keywords which describe the action + + label (str): A short description of the script which will be displayed + when hovering over the menu item + + tooltip (str): A tip for the user about the usage fo the tool + + Returns: + QtWidget.QAction instance + + """ + + assert tags is None or isinstance(tags, (list, tuple)) + # Ensure tags is a list + tags = list() if tags is None else list(tags) + tags.append(title.lower()) + + assert icon is None or isinstance(icon, str), ( + "Invalid data type for icon, supported : None, string") + + # create new action + script_action = action.Action(parent) + script_action.setText(title) + script_action.setObjectName(title) + script_action.tags = tags + + # link action to root for callback library + script_action.root = self + + # Set up the command + script_action.sourcetype = sourcetype + script_action.command = command + + try: + script_action.process_command() + except RuntimeError as e: + raise RuntimeError("Script action can't be " + "processed: {}".format(e)) + + if icon: + iconfile = os.path.expandvars(icon) + script_action.iconfile = iconfile + script_action_icon = QtWidgets.QIcon(iconfile) + script_action.setIcon(script_action_icon) + + if label: + script_action.label = label + + if tooltip: + script_action.setStatusTip(tooltip) + + script_action.triggered.connect(script_action.run_command) + parent.addAction(script_action) + + # Add to our searchable actions + self._script_actions.append(script_action) + + return script_action + + def build_from_configuration(self, parent, configuration): + """Process the configurations and store the configuration + + This creates all submenus from a configuration.json file. + + When the configuration holds the key `main` all scripts under `main` will + be added to the main menu first before adding the rest + + Args: + parent (ScriptsMenu): script menu instance + configuration (list): A ScriptsMenu configuration list + + Returns: + None + + """ + + for item in configuration: + assert isinstance(item, dict), "Configuration is wrong!" + + # skip items which have no `type` key + item_type = item.get('type', None) + if not item_type: + log.warning("Missing 'type' from configuration item") + continue + + # add separator + # Special behavior for separators + if item_type == "separator": + parent.addSeparator() + + # add submenu + # items should hold a collection of submenu items (dict) + elif item_type == "menu": + assert "items" in item, "Menu is missing 'items' key" + menu = self.add_menu(parent=parent, title=item["title"]) + self.build_from_configuration(menu, item["items"]) + + # add script + elif item_type == "action": + # filter out `type` from the item dict + config = {key: value for key, value in + item.items() if key != "type"} + + self.add_script(parent=parent, **config) + + def set_update_visible(self, state): + self.update_action.setVisible(state) + + def clear_menu(self): + """Clear all menu items which are not default + + Returns: + None + + """ + + # TODO: Set up a more robust implementation for this + # Delete all except the first three actions + for _action in self.actions()[3:]: + self.removeAction(_action) + + def register_callback(self, modifiers, callback): + self._callbacks[modifiers].append(callback) + + def _update_search(self, search): + """Hide all the samples which do not match the user's import + + Returns: + None + + """ + + if not search: + for action in self._script_actions: + action.setVisible(True) + else: + for action in self._script_actions: + if not action.has_tag(search.lower()): + action.setVisible(False) + + # Set visibility for all submenus + for action in self.actions(): + if not action.menu(): + continue + + menu = action.menu() + visible = any(action.isVisible() for action in menu.actions()) + action.setVisible(visible) + + +def load_configuration(path): + """Load the configuration from a file + + Read out the JSON file which will dictate the structure of the scripts menu + + Args: + path (str): file path of the .JSON file + + Returns: + dict + + """ + + if not os.path.isfile(path): + raise AttributeError("Given configuration is not " + "a file!\n'{}'".format(path)) + + extension = os.path.splitext(path)[-1] + if extension != ".json": + raise AttributeError("Given configuration file has unsupported " + "file type, provide a .json file") + + # retrieve and store config + with open(path, "r") as f: + configuration = json.load(f) + + return configuration + + +def application(configuration, parent): + import sys + app = QtWidgets.QApplication(sys.argv) + + scriptsmenu = ScriptsMenu(configuration, parent) + scriptsmenu.show() + + sys.exit(app.exec_()) diff --git a/pype/vendor/scriptsmenu/vendor/Qt.py b/pype/vendor/scriptsmenu/vendor/Qt.py new file mode 100644 index 0000000000..633c2a52ca --- /dev/null +++ b/pype/vendor/scriptsmenu/vendor/Qt.py @@ -0,0 +1,446 @@ +"""The MIT License (MIT) + +Copyright (c) 2016 Marcus Ottosson + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +--- + +Map all bindings to PySide2 + +This module replaces itself with the most desirable binding. + +Project goals: + Qt.py was born in the film and visual effects industry to address + the growing need for the development of software capable of running + with more than one flavour of the Qt bindings for Python - PySide, + PySide2, PyQt4 and PyQt5. + + 1. Build for one, run with all + 2. Explicit is better than implicit + 3. Support co-existence + +Default resolution order: + - PySide2 + - PyQt5 + - PySide + - PyQt4 + +Usage: + >> import sys + >> from Qt import QtWidgets + >> app = QtWidgets.QApplication(sys.argv) + >> button = QtWidgets.QPushButton("Hello World") + >> button.show() + >> app.exec_() + +""" + +import os +import sys +import shutil + +# Flags from environment variables +QT_VERBOSE = bool(os.getenv("QT_VERBOSE")) # Extra output +QT_TESTING = bool(os.getenv("QT_TESTING")) # Extra constraints +QT_PREFERRED_BINDING = os.getenv("QT_PREFERRED_BINDING") # Override default + +self = sys.modules[__name__] + +# Internal members, may be used externally for debugging +self.__added__ = list() # All members added to QtCompat +self.__remapped__ = list() # Members copied from elsewhere +self.__modified__ = list() # Existing members modified in some way + +# Below members are set dynamically on import relative the original binding. +self.__version__ = "0.6.9" +self.__qt_version__ = "0.0.0" +self.__binding__ = "None" +self.__binding_version__ = "0.0.0" + +self.load_ui = lambda fname: None +self.translate = lambda context, sourceText, disambiguation, n: None +self.setSectionResizeMode = lambda logicalIndex, hide: None + +# All members of this module is directly accessible via QtCompat +# Take care not to access any "private" members; i.e. those with +# a leading underscore. +QtCompat = self + + +def convert(lines): + """Convert compiled .ui file from PySide2 to Qt.py + + Arguments: + lines (list): Each line of of .ui file + + Usage: + >> with open("myui.py") as f: + .. lines = convert(f.readlines()) + + """ + + def parse(line): + line = line.replace("from PySide2 import", "from Qt import") + line = line.replace("QtWidgets.QApplication.translate", + "Qt.QtCompat.translate") + return line + + parsed = list() + for line in lines: + line = parse(line) + parsed.append(line) + + return parsed + + +def _remap(object, name, value, safe=True): + """Prevent accidental assignment of existing members + + Arguments: + object (object): Parent of new attribute + name (str): Name of new attribute + value (object): Value of new attribute + safe (bool): Whether or not to guarantee that + the new attribute was not overwritten. + Can be set to False under condition that + it is superseded by extensive testing. + + """ + + if QT_TESTING and safe: + # Cannot alter original binding. + if hasattr(object, name): + raise AttributeError("Cannot override existing name: " + "%s.%s" % (object.__name__, name)) + + # Cannot alter classes of functions + if type(object).__name__ != "module": + raise AttributeError("%s != 'module': Cannot alter " + "anything but modules" % object) + + elif hasattr(object, name): + # Keep track of modifications + self.__modified__.append(name) + + self.__remapped__.append(name) + + setattr(object, name, value) + + +def _add(object, name, value): + """Append to self, accessible via Qt.QtCompat""" + self.__added__.append(name) + setattr(object, name, value) + + +def _pyqt5(): + import PyQt5.Qt + from PyQt5 import QtCore, QtWidgets, uic + + _remap(QtCore, "Signal", QtCore.pyqtSignal) + _remap(QtCore, "Slot", QtCore.pyqtSlot) + _remap(QtCore, "Property", QtCore.pyqtProperty) + + _add(QtCompat, "__binding__", PyQt5.__name__) + _add(QtCompat, "__binding_version__", PyQt5.QtCore.PYQT_VERSION_STR) + _add(QtCompat, "__qt_version__", PyQt5.QtCore.QT_VERSION_STR) + _add(QtCompat, "load_ui", lambda fname: uic.loadUi(fname)) + _add(QtCompat, "translate", QtCore.QCoreApplication.translate) + _add(QtCompat, "setSectionResizeMode", + QtWidgets.QHeaderView.setSectionResizeMode) + + _maintain_backwards_compatibility(PyQt5) + + return PyQt5 + + +def _pyqt4(): + # Attempt to set sip API v2 (must be done prior to importing PyQt4) + import sip + try: + sip.setapi("QString", 2) + sip.setapi("QVariant", 2) + sip.setapi("QDate", 2) + sip.setapi("QDateTime", 2) + sip.setapi("QTextStream", 2) + sip.setapi("QTime", 2) + sip.setapi("QUrl", 2) + except AttributeError: + raise ImportError + # PyQt4 < v4.6 + except ValueError: + # API version already set to v1 + raise ImportError + + import PyQt4.Qt + from PyQt4 import QtCore, QtGui, uic + + + _remap(PyQt4, "QtWidgets", QtGui) + _remap(QtCore, "Signal", QtCore.pyqtSignal) + _remap(QtCore, "Slot", QtCore.pyqtSlot) + _remap(QtCore, "Property", QtCore.pyqtProperty) + _remap(QtCore, "QItemSelection", QtGui.QItemSelection) + _remap(QtCore, "QStringListModel", QtGui.QStringListModel) + _remap(QtCore, "QItemSelectionModel", QtGui.QItemSelectionModel) + _remap(QtCore, "QSortFilterProxyModel", QtGui.QSortFilterProxyModel) + _remap(QtCore, "QAbstractProxyModel", QtGui.QAbstractProxyModel) + + try: + from PyQt4 import QtWebKit + _remap(PyQt4, "QtWebKitWidgets", QtWebKit) + except ImportError: + "QtWebkit is optional in Qt , therefore might not be available" + + _add(QtCompat, "__binding__", PyQt4.__name__) + _add(QtCompat, "__binding_version__", PyQt4.QtCore.PYQT_VERSION_STR) + _add(QtCompat, "__qt_version__", PyQt4.QtCore.QT_VERSION_STR) + _add(QtCompat, "load_ui", lambda fname: uic.loadUi(fname)) + _add(QtCompat, "setSectionResizeMode", QtGui.QHeaderView.setResizeMode) + + # PySide2 differs from Qt4 in that Qt4 has one extra argument + # which is always `None`. The lambda arguments represents the PySide2 + # interface, whereas the arguments passed to `.translate` represent + # those expected of a Qt4 binding. + _add(QtCompat, "translate", + lambda context, sourceText, disambiguation, n: + QtCore.QCoreApplication.translate(context, + sourceText, + disambiguation, + QtCore.QCoreApplication.CodecForTr, + n)) + + _maintain_backwards_compatibility(PyQt4) + + return PyQt4 + + +def _pyside2(): + import PySide2 + from PySide2 import QtGui, QtWidgets, QtCore, QtUiTools + + _remap(QtCore, "QStringListModel", QtGui.QStringListModel) + + _add(QtCompat, "__binding__", PySide2.__name__) + _add(QtCompat, "__binding_version__", PySide2.__version__) + _add(QtCompat, "__qt_version__", PySide2.QtCore.qVersion()) + _add(QtCompat, "load_ui", lambda fname: QtUiTools.QUiLoader().load(fname)) + + _add(QtCompat, "setSectionResizeMode", + QtWidgets.QHeaderView.setSectionResizeMode) + + _add(QtCompat, "translate", QtCore.QCoreApplication.translate) + + _maintain_backwards_compatibility(PySide2) + + return PySide2 + + +def _pyside(): + import PySide + from PySide import QtGui, QtCore, QtUiTools + + _remap(PySide, "QtWidgets", QtGui) + _remap(QtCore, "QSortFilterProxyModel", QtGui.QSortFilterProxyModel) + _remap(QtCore, "QStringListModel", QtGui.QStringListModel) + _remap(QtCore, "QItemSelection", QtGui.QItemSelection) + _remap(QtCore, "QItemSelectionModel", QtGui.QItemSelectionModel) + _remap(QtCore, "QAbstractProxyModel", QtGui.QAbstractProxyModel) + + try: + from PySide import QtWebKit + _remap(PySide, "QtWebKitWidgets", QtWebKit) + except ImportError: + "QtWebkit is optional in Qt, therefore might not be available" + + _add(QtCompat, "__binding__", PySide.__name__) + _add(QtCompat, "__binding_version__", PySide.__version__) + _add(QtCompat, "__qt_version__", PySide.QtCore.qVersion()) + _add(QtCompat, "load_ui", lambda fname: QtUiTools.QUiLoader().load(fname)) + _add(QtCompat, "setSectionResizeMode", QtGui.QHeaderView.setResizeMode) + + _add(QtCompat, "translate", + lambda context, sourceText, disambiguation, n: + QtCore.QCoreApplication.translate(context, + sourceText, + disambiguation, + QtCore.QCoreApplication.CodecForTr, + n)) + + _maintain_backwards_compatibility(PySide) + + return PySide + + +def _log(text, verbose): + if verbose: + sys.stdout.write(text + "\n") + + +def cli(args): + """Qt.py command-line interface""" + import argparse + + parser = argparse.ArgumentParser() + parser.add_argument("--convert", + help="Path to compiled Python module, e.g. my_ui.py") + parser.add_argument("--compile", + help="Accept raw .ui file and compile with native " + "PySide2 compiler.") + parser.add_argument("--stdout", + help="Write to stdout instead of file", + action="store_true") + parser.add_argument("--stdin", + help="Read from stdin instead of file", + action="store_true") + + args = parser.parse_args(args) + + if args.stdout: + raise NotImplementedError("--stdout") + + if args.stdin: + raise NotImplementedError("--stdin") + + if args.compile: + raise NotImplementedError("--compile") + + if args.convert: + sys.stdout.write("#\n" + "# WARNING: --convert is an ALPHA feature.\n#\n" + "# See https://github.com/mottosso/Qt.py/pull/132\n" + "# for details.\n" + "#\n") + + # + # ------> Read + # + with open(args.convert) as f: + lines = convert(f.readlines()) + + backup = "%s_backup%s" % os.path.splitext(args.convert) + sys.stdout.write("Creating \"%s\"..\n" % backup) + shutil.copy(args.convert, backup) + + # + # <------ Write + # + with open(args.convert, "w") as f: + f.write("".join(lines)) + + sys.stdout.write("Successfully converted \"%s\"\n" % args.convert) + + +def init(): + """Try loading each binding in turn + + Please note: the entire Qt module is replaced with this code: + sys.modules["Qt"] = binding() + + This means no functions or variables can be called after + this has executed. + + For debugging and testing, this module may be accessed + through `Qt.__shim__`. + + """ + + bindings = (_pyside2, _pyqt5, _pyside, _pyqt4) + + if QT_PREFERRED_BINDING: + # Internal flag (used in installer) + if QT_PREFERRED_BINDING == "None": + self.__wrapper_version__ = self.__version__ + return + + preferred = QT_PREFERRED_BINDING.split(os.pathsep) + available = { + "PySide2": _pyside2, + "PyQt5": _pyqt5, + "PySide": _pyside, + "PyQt4": _pyqt4 + } + + try: + bindings = [available[binding] for binding in preferred] + except KeyError: + raise ImportError( + "Available preferred Qt bindings: " + "\n".join(preferred) + ) + + for binding in bindings: + _log("Trying %s" % binding.__name__, QT_VERBOSE) + + try: + binding = binding() + + except ImportError as e: + _log(" - ImportError(\"%s\")" % e, QT_VERBOSE) + continue + + else: + # Reference to this module + binding.QtCompat = self + binding.__shim__ = self # DEPRECATED + + sys.modules.update({ + __name__: binding, + + # Fix #133, `from Qt.QtWidgets import QPushButton` + __name__ + ".QtWidgets": binding.QtWidgets, + + # Fix #158 `import Qt.QtCore;Qt.QtCore.Signal` + __name__ + ".QtCore": binding.QtCore, + __name__ + ".QtGui": binding.QtGui, + + }) + + return + + # If not binding were found, throw this error + raise ImportError("No Qt binding were found.") + + +def _maintain_backwards_compatibility(binding): + """Add members found in prior versions up till the next major release + + These members are to be considered deprecated. When a new major + release is made, these members are removed. + + """ + + for member in ("__binding__", + "__binding_version__", + "__qt_version__", + "__added__", + "__remapped__", + "__modified__", + "convert", + "load_ui", + "translate"): + setattr(binding, member, getattr(self, member)) + self.__added__.append(member) + + setattr(binding, "__wrapper_version__", self.__version__) + self.__added__.append("__wrapper_version__") + + +cli(sys.argv[1:]) if __name__ == "__main__" else init() \ No newline at end of file diff --git a/pype/vendor/scriptsmenu/vendor/__init__.py b/pype/vendor/scriptsmenu/vendor/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/pype/vendor/scriptsmenu/version.py b/pype/vendor/scriptsmenu/version.py new file mode 100644 index 0000000000..7e9d9200fb --- /dev/null +++ b/pype/vendor/scriptsmenu/version.py @@ -0,0 +1,9 @@ +VERSION_MAJOR = 1 +VERSION_MINOR = 4 +VERSION_PATCH = 0 + + +version = '{}.{}.{}'.format(VERSION_MAJOR, VERSION_MINOR, VERSION_PATCH) +__version__ = version + +__all__ = ['version', '__version__']