def importXMLFromFile(self): ''' NO DOCUMENTATION ''' # print "importXMLFromFile" # First, prompt the user for the filename to read in start_dir = paths.get_project_configs_path() configDialog = QFileDialog() filter_str = QString("*.xml") fd = configDialog.getOpenFileName( self.manager.base_widget, "Please select an XML file to import...", start_dir, filter_str) # Check for cancel if len(fd) == 0: return fileName = QString(fd) # Pass that in to create a new XMLConfiguration try: options = '' xml_tree = load_xml_file(str(fileName)) xml_node = xml_tree.getroot() options = ' or another node in the tree view' self.import_from_node(xml_node) except Exception, e: MessageBox.error(mainwindow=self.view, text='Cannot insert XML file.', detailed_text='XML insert failed. ' '%s. ' 'Please select another XML file%s.' % (e, options)) return
def exportXMLToFile(self, inherited=True): ''' NO DOCUMENTATION ''' # Ask the users where they want to save the file start_dir = paths.get_project_configs_path() configDialog = QFileDialog() filter_str = QString("*.xml") fd = configDialog.getSaveFileName(self.manager.base_widget, QString("Save As..."), QString(start_dir), filter_str) # Check for cancel if len(fd) == 0: return fileNameInfo = QFileInfo(QString(fd)) fileName = fileNameInfo.fileName().trimmed() fileNamePath = fileNameInfo.absolutePath().trimmed() saveName = os.path.join(str(fileNamePath), str(fileName)) root_node = self.get_clean_copy_of_selected_node(inherited) ElementTree(root_node).write(saveName)