def load_file(self, file_name=None): file_name = settings.def_path().absoluteFilePath("/digitalWrite.yaml") string = app.utils.get_file_contents(file_name) data = yaml.load(str(string)) self.txtFunction.setText(data['function']) self.txtLib.setText(data['lib']) self.txtSection.setText(data['section']) self.txtSyntax.setText(data['syntax']) self.txtSummary.setText(data['summary']) #self.txtParameters.setPlainText(data['parameters']) self.txtDescription.setPlainText(data['description']) self.txtExample.setPlainText(data['example']) print "all=", data['parameters'] for dic in data['parameters']: treeItem = QtGui.QTreeWidgetItem() treeItem.setFlags(QtCore.Qt.ItemIsEditable | QtCore.Qt.ItemIsSelectable | QtCore.Qt.ItemIsEnabled) treeItem.setText(0, dic.keys()[0]) treeItem.setText(1, dic.values()[0]) self.tree.addTopLevelItem(treeItem)
def on_write_api_file(self): rootItem = self.tree.invisibleRootItem() self.api_lines = [] self.extract_api(rootItem) for l in self.api_lines: print l api_string = "\n".join(self.api_lines) file_path = settings.def_path().absoluteFilePath("autocomplete.txt") app.utils.write_file(file_path, api_string)
def on_add_folder(self): parent_folder = self.tree.currentItem().text(self.COLS.folder) txt, ok = QtGui.QInputDialog.getText(self, "New Folder", "Create folder under %s" % parent_folder, QtGui.QLineEdit.Normal, "foo") if ok: #dir_str = parent_folder.append(txt) pth = settings.def_path().append(parent_folder) dirr = QtCore.QDir(pth) success = dirr.mkdir(txt) if success: self.load() else: print "error" # TODO
def save_file(self): dic = {} dic['function'] = str(self.txtFunction.text()) dic['lib'] = str(self.txtLib.text()) dic['section'] = str(self.txtSection.text()) dic['syntax'] = str(self.txtSyntax.text()) dic['summary'] = str(self.txtSummary.text()) dic['description'] = str(self.txtDescription.toPlainText()) dic['example'] = str(self.txtExample.toPlainText()) dic['parameters'] = [] rootItem = self.tree.invisibleRootItem() for idx in range(0, rootItem.childCount()): kid = rootItem.child(idx) dic['parameters'].append( { str(kid.text(0)) : str(kid.text(1))} ) string = yaml.dump(dic, Dumper=Dumper, default_flow_style=False) file_path = settings.def_path().absoluteFilePath("%s.yaml" % (self.function_name)) app.utils.write_file(file_path, string)