예제 #1
0
 def changeNodeProperty(self, number, property, value):
     print "change node %s %s to %s" % (number, property, value)
     tree = RS.read_xml(xml_file)
     root = tree.getroot()
     allNodes = RS.find_nodes(root)
     currentNode = RS.get_node_by_keyvalue(allNodes,
                                           {"number": "%s" % number})
     RS.change_node_properties(currentNode, {"%s" % property: "%s" % value})
     RS.write_xml(tree, xml_file)
예제 #2
0
 def clearAllNodes(self):
     #print "clear all"
     if self.renderingList == [] and self.waitingList == []:
         row = self.renderTable.rowCount()
         for i in range(row):
             self.renderTable.removeRow(0)
             tree = RS.read_xml(xml_file)
             root = tree.getroot()
             RS.del_node(root, 1)
             RS.write_xml(tree, xml_file)
         self.newList = []
         self.killedList = []
         self.finishList = []
         self.nodeList = []
         self.updateRenderInfo()
예제 #3
0
 def createFolder(self):
     if not os.path.exists(USER_HOME_Path):
         os.makedirs(USER_HOME_Path)
         os.chmod(USER_HOME_Path, 0777)
     if not os.path.exists(xml_file):
         default_xml_tree = RS.read_xml("%s/default.xml" % GLOBAL_Folder)
         #RS.write_xml(default_xml_tree, xml_file)
         #tree = RS.read_xml(xml_file)
         tree = default_xml_tree
         root = tree.getroot()
         setting = RS.find_setting(root)
         RS.change_setting(
             setting, {
                 "threads": "%s" % (max_threads_number / 2),
                 "executePath": "%s" % nuke_execute_path
             })
         RS.write_xml(tree, xml_file)
예제 #4
0
 def apply_setting_change(self):
     tree = RS.read_xml(xml_file)
     root = tree.getroot()
     setting = RS.find_setting(root)
     RS.change_setting(
         setting, {"threads": "%s" % str(self.renderThreadsSlider.value())})
     if self.nukeExecutePathCustomCheckbox.isChecked():
         RS.change_setting(setting, {"customPath": "1"})
     else:
         RS.change_setting(setting, {
             "customPath": "0",
             "executePath": "%s" % nuke_execute_path
         })
     RS.change_setting(
         setting,
         {"executePath": "%s" % self.nukeExecutePathLineEdit.text()})
     RS.change_setting(
         setting,
         {"multiRenderNum": "%s" % str(self.multiRenderSlider.value())})
     RS.write_xml(tree, xml_file)
     self.applyButton.setEnabled(False)
예제 #5
0
 def removeNode(self):
     #print "remove node"
     if self.renderingList == [] and self.waitingList == []:
         currentRow = self.renderTable.currentRow()
         if currentRow >= 0:
             currentStatus = self.renderTable.cellWidget(currentRow,
                                                         4).status
             self.renderTable.removeRow(currentRow)
             tree = RS.read_xml(xml_file)
             root = tree.getroot()
             RS.del_node(root, currentRow + 1)
             RS.write_xml(tree, xml_file)
             for i in range(self.renderTable.rowCount()):
                 if i >= currentRow:
                     self.renderTable.cellWidget(i, 4).n = str(
                         int(self.renderTable.cellWidget(i, 4).n) - 1)
             if currentStatus == "new":
                 for i in self.newList:
                     if int(i) == currentRow + 1:
                         self.newList.remove(i)
             if currentStatus == "killed":
                 for i in self.killedList:
                     if int(i) == currentRow + 1:
                         self.killedList.remove(i)
             if currentStatus == "finish":
                 for i in self.finishList:
                     if int(i) == currentRow + 1:
                         self.finishList.remove(i)
             for i in range(len(self.newList)):
                 if int(self.newList[i]) > currentRow + 1:
                     self.newList[i] = str(int(self.newList[i]) - 1)
             for i in range(len(self.killedList)):
                 if int(self.killedList[i]) > currentRow + 1:
                     self.killedList[i] = str(int(self.killedList[i]) - 1)
             for i in range(len(self.finishList)):
                 if int(self.finishList[i]) > currentRow + 1:
                     self.finishList[i] = str(int(self.finishList[i]) - 1)
             self.updateRenderInfo()
예제 #6
0
 def addNodes(self):
     #print "add nodes"
     if inNuke:
         RN.autoSave()
         newNodes = RN.getNodes()
     else:
         newNodes = testWriteNodes
     for node in newNodes:
         self.renderTable.insertRow(self.renderTable.rowCount())
         tree = RS.read_xml(xml_file)
         root = tree.getroot()
         newNode = RS.add_node(
             root, {
                 "name": "%s" % node[1],
                 "nkPath": "%s" % node[0],
                 "frameIn": "%s" % node[3],
                 "frameOut": "%s" % node[4],
                 "fileName": "%s" % node[2]
             })
         RS.write_xml(tree, xml_file)
         newRenderNode = RenderNode()
         newRenderNode.changeRenderProperty("number", newNode.get("number"))
         newRenderNode.changeRenderProperty("name", newNode.get("name"))
         newRenderNode.changeRenderProperty("nkPath", newNode.get("nkPath"))
         newRenderNode.changeRenderProperty("fileName",
                                            newNode.get("fileName"))
         newRenderNode.changeRenderProperty("frameIn",
                                            newNode.get("frameIn"))
         newRenderNode.changeRenderProperty("frameOut",
                                            newNode.get("frameOut"))
         newRenderNode.changeRenderProperty("frameInterval",
                                            newNode.get("frameInterval"))
         self.newList.append(newRenderNode.number)
         self.nodeList.append(newRenderNode)
         self.populateTable(newRenderNode)
     self.updateRenderInfo()