def openFile(self):
        init_dir = Config.getRequestConfig_LastOpen()

        name = QFileDialog.getOpenFileName(
            self, 'Open file', init_dir,
            "XuCompa Request (*.xreq);; JSON files (*.json);; All files (*)")
        if name[0] != "":
            config = Config.getConfig()
            config["viewer"]["last_open"] = os.path.dirname(name[0])
            Config.updateConfig(config)

            file = XFile(name[0])
            self.dataTemp.insert(0, file)
            self.onItemSelected(file)
            self.updateDataList(self.dataTemp, self.dataSource.list)
            self.refresh()
 def loadFile(self):
     self.dataSource.clear()
     self.dataSource.load(Config.getRequestFolder()[0])
     self.updateCategories(self.dataSource.list)
     self.updateDataList(self.dataTemp, self.dataSource.list)
     self.listAdapter.refresh()
     self.gridData.refresh()
Пример #3
0
 def getData(self):
     try:
         path = Config.getAPILinkFile()
         file = open(path, 'r', encoding='utf-8')
         data = file.read()
         file.close()
         self.listLink = json.loads(data)
     except Exception as ex:
         logging.exception(ex)
         self.alert.emit(str(ex))
 def getSavePath(self, name, category, description) -> str:
     # create new xashID
     xashId = XashHelp.newXashId(category, self.dataSource)
     # write description
     descId = self.saveDescription(description, xashId)
     # gotta new xash string
     x = XashHelp.createXash(name, xashId, {'description': descId}, '.xreq')
     # join with folder
     path = os.path.join(Config.getRequestFolder()[0], x)
     return path
Пример #5
0
 def save(self):
     self.listLink = self.tableLink.getData()
     try:
         path = Config.getAPILinkFile()
         file = open(path, 'w', encoding='utf-8')
         file.write(Formatter.dumps(self.listLink, EditorType.JSON, None))
         file.close()
         self.completeDestroy(1)
     except Exception as ex:
         logging.exception(ex)
         self.alert.emit(str(ex))
Пример #6
0
 def saveData(self):
     if self.currentFile is None:
         init_dir = Config.getViewerConfig_LastOpen()
         file = os.path.join(init_dir, self.title.text())
         name = QFileDialog.getSaveFileName(self, 'Save file', file,
                                            self.getFileExtension())
         if name[0] != "":
             config = Config.getConfig()
             config["viewer"]["last_open"] = os.path.dirname(name[0])
             Config.updateConfig(config)
             self.currentFile = XFile(name[0])
             self.save(self.currentFile)
     else:
         if not os.path.isfile(self.currentFile.getPath()):
             name = QFileDialog.getSaveFileName(self, 'Save file',
                                                self.currentFile.getPath(),
                                                self.getFileExtension())
             if name[0] != "":
                 self.currentFile.setPath(name[0])
                 if self.save(self.currentFile) is not None:
                     self.saveDataDone.emit(name[0])
         else:
             if self.save(self.currentFile) is not None:
                 self.saveDataDone.emit(self.currentFile.getPath())
    def saveDescription(self, desc, descId=None, isRemove=False):
        # read descriptions
        xDef = Config.getRequestFolder()[1]
        if os.path.isfile(xDef):
            file = open(xDef, "r", encoding='utf-8')
            data = file.read()
            file.close()
        else:
            data = ''

        # edit
        listDesc = data.split("\n")
        if descId is None and not isRemove:
            newId = '[desc#%s]' % str(len(listDesc))
            lines = newId + 'xreq_description--description#' + desc
            listDesc.append(lines)
        else:
            newId = descId
            exist = False
            for d in listDesc:
                if d.startswith(newId):
                    inx = listDesc.index(d)
                    if not isRemove:
                        listDesc[
                            inx] = newId + 'xreq_description--description#' + desc
                        exist = True
                    else:
                        listDesc.remove(d)
                    break
            if not exist:
                lines = newId + 'xreq_description--description#' + desc
                listDesc.append(lines)

        # save
        file = open(xDef, "w", encoding='utf-8')
        data = "\n".join(listDesc)
        file.write(data)
        file.close()
        return newId
Пример #8
0
def inRequestFolder(path):
    return os.path.dirname(path) == Config.getRequestFolder()[0]