Beispiel #1
0
    def publish(
        self,
        selectedHDA=None
    ):  #, departments=[Department.HDA, Department.ASSEMBLY, Department.MODIFY, Department.MATERIAL, Department.HAIR, Department.CLOTH]):
        project = Project()
        self.selectedHDA = selectedHDA

        if self.selectedHDA is None:
            self.selectedHDA = get_selected_node()
            if self.selectedHDA is None:
                return

        if self.selectedHDA.type().definition() is not None:
            self.src = self.selectedHDA.type().definition().libraryFilePath()

            if self.node_name:
                self.asset_results([self.node_name])
                return

            asset_list = project.list_props_and_actors()
            self.item_gui = sfl.SelectFromList(
                l=asset_list,
                parent=houdini_main_window(),
                title="Select an asset to publish to")
            self.item_gui.submitted.connect(self.asset_results)

        else:
            qd.error('The selected node is not a digital asset')

        return
Beispiel #2
0
    def clone_hda(self, hda=None):
        project = Project()

        asset_list = project.list_props_and_actors()
        self.item_gui = sfl.SelectFromList(l=asset_list,
                                           parent=houdini_main_window(),
                                           title="Select an asset to clone")
        self.item_gui.submitted.connect(self.asset_results)
def create_asset_xml():
    project = Project()
    asset_list = project.list_props_and_actors()
    filename = os.path.join(Environment().get_project_dir(),
                            "production/props_and_actors.xml")

    open(filename, "w").close()  # wipe the file
    f = open(filename, "a")  # open the file for appending
    write_to_file(f, filename, "<channel>\n")

    for asset in asset_list:
        text = "\t<item>" + str(asset) + "</item>\n"
        write_to_file(f, filename, text)

    write_to_file(f, filename, "</channel>\n")
    f.close()