def confirmWritePropReference(self, body=None): filepath = pm.sceneName() fileDir = os.path.dirname(filepath) project = Project() if not body: checkout = project.get_checkout(fileDir) bodyName = checkout.get_body_name() body = project.get_body(bodyName) if body.is_asset() and body.get_type() == AssetType.PROP: element = body.get_element(Department.MODEL) filepath = os.path.join(project.get_assets_dir(), element.get_cache_dir()) assemblies = pm.ls(assemblies=True) pm.select(pm.listCameras(), replace=True) cameras = pm.selected() pm.select([]) non_cameras = [ assembly for assembly in assemblies if assembly not in cameras ] self.exportPropJSON(filepath, non_cameras[0], isReference=False, name=body.get_name()) print("JSON references written successfully.")
def writeXML(assetName='None', context='OBJ'): project = Project() asset_body = project.get_body(assetName) icon = os.path.join('$JOB', 'pipe', 'tools', '_resources', '2.png') if not asset_body.is_asset(): print('error me this') raise Exception('Failed to generate XML for: ' + assetName + ' \n Object is not an Asset') global baseXML xml = Template(baseXML).substitute(NAME=assetName, LABEL=assetName.replace('_', ' ').title(), ICON=icon, CONTEXT=context) try: path = os.path.join(project.get_assets_dir(), assetName) path = os.path.join(path, assetName + '.shelf') file = open(path, 'w') file.write(xml) file.close() if not os.path.exists(project.get_tabs_dir()): os.makedirs(project.get_tabs_dir()) sym = os.path.join(project.get_tabs_dir(), assetName + '.shelf') if os.path.exists(sym): os.unlink(sym) os.link(path, sym) except Exception as e: print e raise Exception('Failed to generate XML for: ' + assetName)
import checkout from pipe.am.project import Project from pipe.am.environment import Environment, Department from pipe.am.element import Element from pipe.am.body import Body, Asset, Shot, AssetType import maya.standalone maya.standalone.initialize(name='python') import maya.cmds as cmds project=Project() environment=Environment() asset_dir=project.get_assets_dir() for i,asset in enumerate(project.list_assets(AssetType.PROP)): asset_obj=project.get_body(asset) element_obj = asset_obj.get_element(Department.MODEL,force_create=True) element_path = element_obj.checkout(environment.get_current_username()) cmds.file(rename='/tmp/lol'+str(i)+'.mb') cmds.file(save=True) checkout.non_gui_open(element_path,asset) print 'Done'