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()
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
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))
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
def inRequestFolder(path): return os.path.dirname(path) == Config.getRequestFolder()[0]