def publish_hda():
    project = Project()
    environment = Environment()

    if publish_window.published:
        user = publish_window.user
        comment = publish_window.comment

        if is_asset:
            if asset_name in project.list_assets():
                body = project.get_asset(asset_name)

            if os.path.exists(src):
                if body is not None:
                    if Element.DEFAULT_NAME in body.list_elements(
                            Department.ASSEMBLY):
                        #save node definition
                        asset.type().definition().updateFromNode(asset)
                        asset.matchCurrentDefinition()
                        element = body.get_element(Department.ASSEMBLY,
                                                   Element.DEFAULT_NAME)
                        dst = element.publish(user, src, comment)
                        #Ensure file has correct permissions
                        try:
                            os.chmod(dst, 0660)
                        except:
                            pass
                        hou.hda.uninstallFile(src,
                                              change_oplibraries_file=False)
                        saveFile = asset_name + "_assembly_main.hdanc"
                        dst = os.path.join(environment.get_assembly_dir(),
                                           saveFile)
                        hou.hda.installFile(dst)
            else:
                hou.ui.displayMessage("File does not exist")
def publish_hda():
    project = Project()
    environment = Environment()
    
    if publish_window.published:
        user = publish_window.user
        comment = publish_window.comment
        
        if is_asset:
            if asset_name in project.list_assets():
                body = project.get_asset(asset_name)
                
            if os.path.exists(src):
                if body is not None:
                    if Element.DEFAULT_NAME in body.list_elements(Department.ASSEMBLY):
                        #save node definition
                        asset.type().definition().updateFromNode(asset)
                        asset.matchCurrentDefinition()
                        element = body.get_element(Department.ASSEMBLY, Element.DEFAULT_NAME)
                        dst = element.publish(user, src, comment)
                        #Ensure file has correct permissions
                        try:
                            os.chmod(dst, 0660)
                        except:
                            pass
                        hou.hda.uninstallFile(src, change_oplibraries_file=False)
                        saveFile = asset_name + "_assembly_main.hdanc"
                        dst = os.path.join(environment.get_assembly_dir(), saveFile)
                        hou.hda.installFile(dst)
            else:
                hou.ui.displayMessage("File does not exist")
Example #3
0
def rollback_hda():
    filepath = rollback_window.result
    if filepath is not None:
        environment = Environment()
        hou.hda.uninstallFile(src, change_oplibraries_file=False)
        dst = os.path.join(environment.get_assembly_dir(), asset_name)
        hou.hda.installFile(dst)
        hou.ui.displayMessage("Rollback successful")