コード例 #1
0
    def projectCreatioinProcess(self):
        prjTitle = self.headersFields.nameField.text()
        if not prjTitle:
            print("Enter prject title please.")
            return
        if re.search(r'^\d|[^\w^\ ]', prjTitle):
            print("Name cannot contain special characters or start with a number")
            return
        self.prjCode = re.sub(r'\W', '_', prjTitle).lower()
        prjTemplate = self.headersFields.templateList.currentText()

        treeData = self.parserExcelDataWidget.treeData
        if not treeData:
            text = "Shots not found."
            info = "Do you want to continue?"
            msg = simpleDialogs.MessageDialog(self)

            if msg.showDialog(text, info) is False:
                return

        elif not self.prmPathField.text():
            text = "The prm path is not specified."
            info = "Do you want to continue?"
            msg = simpleDialogs.MessageDialog(self)

            if msg.showDialog(text, info) is False:
                return
        else:
            wastePrmFiles, shotsNoPrm, prmPathData = self.checkPrmFiles(treeData)
            if wastePrmFiles or shotsNoPrm:
                text = "Detected inconsistencies prm files."
                info = "Do you want to continue creating the project?"
                detailed = "\nWASTE PRM FILES ARE: \n\t{} \nLOST PRM FILES FOR SHOTS:\n\t{}".format("\n".join(wastePrmFiles), "\n".join(shotsNoPrm))
                msg = simpleDialogs.MessageDialog(self)

                if msg.showDialog(text, info, detailed) is False:
                    return

            text = "Do you want to copy files to project directory?."
            msg = simpleDialogs.MessageDialog(self)
            if msg.showDialog(text):
                self.copyPrmFiles(prmPathData)

        prjSuccess = self.createProject(prjTemplate, prjTitle)
        if not prjSuccess:
            return
        self.createFolderSturcture(treeData)

        self.createTasks(treeData)

        print("Process finished!")
コード例 #2
0
    def updateStatus(self,
                     status,
                     items=[],
                     refresh=None,
                     multipleItems=False):
        if not items:
            items = self.itemUtils.getSelected_ProcessItems(multipleItems)
            if not items:
                return

        items = items if isinstance(items, list) else [items]
        data = {}
        for item in items:
            data[item.data(0, Qt.UserRole)] = {"status": status}
        tacticPostUtils.updateMultipleSobjects(
            self.taskManager.userServerCore.server, data)
        if refresh:
            self.taskManager.refreshTaskData()
        elif refresh is None:
            msg = simpleDialogs.MessageDialog(self.taskManager)
            textMsg = "Do you want to refresh view?"
            if msg.showDialog(textMsg, buttons=True):
                self.taskManager.refreshTaskData()
        else:
            pass
コード例 #3
0
 def completeTaskButton(self):
     selectedItem = self.itemUtils.getSelected_ProcessItems()
     itemStatus = selectedItem.text(1)
     if itemStatus in [tctStatusElements['inProgress']]:
         self.updateStatus(tctStatusElements['revise'])
     else:
         msg = simpleDialogs.MessageDialog(self.taskManager)
         textMsg = "To complete this task the status must be '{inProgress}'".format(
             inProgress=tctStatusElements['inProgress'])
         msg.showDialog(textMsg, buttons=False)
コード例 #4
0
 def statusConfirmDialog(self, selectedItem, prevStatuses, newStatus):
     itemStatus = selectedItem.text(1)
     if itemStatus in prevStatuses:
         return True
     else:
         msg = simpleDialogs.MessageDialog(self)
         # textMsg = "Procedure not followed. Continue?"
         textInfo = "You change the status '{status}' to new status '{newStatus}'. Continue?".format(
             status=itemStatus, newStatus=newStatus)
         return msg.showDialog(textInfo, buttons=True)
コード例 #5
0
    def defineExcelFile(self):
        filters = [('Excel file', '*.xl*'), ('All', '*.*')]
        excelFile, filter_ = simpleDialogs.showQFileDialog(self, "Select excel file", self.pathField.text(), filters, True)
        if not excelFile:
            return

        self.pathField.setText(excelFile)
        try:
            self.workBook = load_workbook(excelFile)
        except utils.exceptions.InvalidFileException as err:
            msg = simpleDialogs.MessageDialog(self)
            msg.showDialog(str(err), buttons=False)
            print(err)
            return
        self.completeSheetList()
コード例 #6
0
 def statusConfirmDialog(self, status, newStatus):
     msg = simpleDialogs.MessageDialog(self.taskManager)
     # textMsg = "Procedure not followed. Continue?"
     textInfo = "You change the status '{status}' to new status '{newStatus}'. Continue?".format(
         status=status, newStatus=newStatus)
     return msg.showDialog(textInfo, buttons=True)