def __view__valueChanged(self, *args): """ Defines the slot triggered by a View when value changed. :param \*args: Arguments. :type \*args: \* """ LOGGER.debug("> Initializing '{0}' Template settings file content.".format(self.__templateSettingsFile)) templateSettingsSectionsFileParser = SectionsFileParser(self.__templateSettingsFile) templateSettingsSectionsFileParser.sections = OrderedDict() for section, view in OrderedDict([(self.__templateCommonAttributesSection, self.Common_Attributes_tableWidget), (self.__templateAdditionalAttributesSection, self.Additional_Attributes_tableWidget)]).iteritems(): templateSettingsSectionsFileParser.sections[section] = OrderedDict() for row in range(view.rowCount()): widget = view.cellWidget(row, 0) if type(widget) is Variable_QPushButton: value = widget.text() == "True" and "1" or "0" elif type(widget) is QDoubleSpinBox: value = foundations.strings.toString(widget.value()) elif type(widget) is QComboBox: value = foundations.strings.toString(widget.currentText()) else: value = foundations.strings.toString(widget.text()) templateSettingsSectionsFileParser.sections[ section][foundations.namespace.removeNamespace(widget.data.name)] = value templateSettingsSectionsFileParser.write()
def testWrite(self): """ Tests :meth:`foundations.parsers.SectionsFileParser.write` method. """ # Standard sections files. for type, file in STANDARD_FILES.iteritems(): readSectionsFileParser = SectionsFileParser(file) readSectionsFileParser.parse(stripComments=False, rawSections=STANDARD_FILES_RAW_SECTIONS[type]) fileDescriptor, path = tempfile.mkstemp() writeSectionsFileParser = SectionsFileParser(unicode(path)) writeSectionsFileParser.sections = readSectionsFileParser.sections writeSectionsFileParser.comments = readSectionsFileParser.comments writeSectionsFileParser.write() checkingSectionsFileParser = SectionsFileParser(writeSectionsFileParser.path) checkingSectionsFileParser.parse(stripComments=False, rawSections=STANDARD_FILES_RAW_SECTIONS[type]) self.assertDictEqual(readSectionsFileParser.sections, checkingSectionsFileParser.sections) os.close(fileDescriptor) # Standard sections files with namespaces. for type, file in STANDARD_FILES.iteritems(): readSectionsFileParser = SectionsFileParser(file) readSectionsFileParser.parse( namespaces=True, stripComments=False, rawSections=STANDARD_FILES_RAW_SECTIONS[type] ) fileDescriptor, path = tempfile.mkstemp() writeSectionsFileParser = SectionsFileParser(unicode(path)) writeSectionsFileParser.sections = readSectionsFileParser.sections writeSectionsFileParser.comments = readSectionsFileParser.comments writeSectionsFileParser.write(namespaces=True) checkingSectionsFileParser = SectionsFileParser(writeSectionsFileParser.path) checkingSectionsFileParser.parse( namespaces=False, stripComments=False, rawSections=STANDARD_FILES_RAW_SECTIONS[type] ) self.assertDictEqual(readSectionsFileParser.sections, checkingSectionsFileParser.sections) os.close(fileDescriptor) # Default section file. readSectionsFileParser = SectionsFileParser(DEFAULTS_FILE) readSectionsFileParser.parse() fileDescriptor, path = tempfile.mkstemp() writeSectionsFileParser = SectionsFileParser(unicode(path)) writeSectionsFileParser.sections = readSectionsFileParser.sections writeSectionsFileParser.comments = readSectionsFileParser.comments writeSectionsFileParser.write() checkingSectionsFileParser = SectionsFileParser(writeSectionsFileParser.path) checkingSectionsFileParser.parse() os.close(fileDescriptor)
def testWrite(self): """ This method tests :meth:`foundations.parsers.SectionsFileParser.write` method. """ # Standard sections files. for type, file in STANDARD_FILES.iteritems(): readSectionsFileParser = SectionsFileParser(file) readSectionsFileParser.read() and \ readSectionsFileParser.parse(stripComments=False, rawSections=STANDARD_FILES_RAW_SECTIONS[type]) writeSectionsFileParser = SectionsFileParser(tempfile.mkstemp()[1]) writeSectionsFileParser.sections = readSectionsFileParser.sections writeSectionsFileParser.comments = readSectionsFileParser.comments writeSectionsFileParser.write() checkingSectionsFileParser = SectionsFileParser(writeSectionsFileParser.file) checkingSectionsFileParser.read() and checkingSectionsFileParser.parse(stripComments=False, rawSections=STANDARD_FILES_RAW_SECTIONS[type]) self.assertDictEqual(readSectionsFileParser.sections, checkingSectionsFileParser.sections) os.remove(writeSectionsFileParser.file) # Standard sections files with namespaces. for type, file in STANDARD_FILES.iteritems(): readSectionsFileParser = SectionsFileParser(file) readSectionsFileParser.read() and readSectionsFileParser.parse(namespaces=True, stripComments=False, rawSections=STANDARD_FILES_RAW_SECTIONS[type]) writeSectionsFileParser = SectionsFileParser(tempfile.mkstemp()[1]) writeSectionsFileParser.sections = readSectionsFileParser.sections writeSectionsFileParser.comments = readSectionsFileParser.comments writeSectionsFileParser.write(namespaces=True) checkingSectionsFileParser = SectionsFileParser(writeSectionsFileParser.file) checkingSectionsFileParser.read() and checkingSectionsFileParser.parse(namespaces=False, stripComments=False, rawSections=STANDARD_FILES_RAW_SECTIONS[type]) self.assertDictEqual(readSectionsFileParser.sections, checkingSectionsFileParser.sections) os.remove(writeSectionsFileParser.file) # Default section file. readSectionsFileParser = SectionsFileParser(DEFAULTS_FILE) readSectionsFileParser.read() and readSectionsFileParser.parse() writeSectionsFileParser = SectionsFileParser(tempfile.mkstemp()[1]) writeSectionsFileParser.sections = readSectionsFileParser.sections writeSectionsFileParser.comments = readSectionsFileParser.comments writeSectionsFileParser.write() checkingSectionsFileParser = SectionsFileParser(writeSectionsFileParser.file) checkingSectionsFileParser.read() and checkingSectionsFileParser.parse() os.remove(writeSectionsFileParser.file)
def testWrite(self): """ This method tests :meth:`foundations.parsers.SectionsFileParser.write` method. """ # Standard sections files. for type, file in STANDARD_FILES.iteritems(): readSectionsFileParser = SectionsFileParser(file) readSectionsFileParser.read() and \ readSectionsFileParser.parse(stripComments=False, rawSections=STANDARD_FILES_RAW_SECTIONS[type]) fileDescriptor, path = tempfile.mkstemp() writeSectionsFileParser = SectionsFileParser(path) writeSectionsFileParser.sections = readSectionsFileParser.sections writeSectionsFileParser.comments = readSectionsFileParser.comments writeSectionsFileParser.write() checkingSectionsFileParser = SectionsFileParser( writeSectionsFileParser.path) checkingSectionsFileParser.read( ) and checkingSectionsFileParser.parse( stripComments=False, rawSections=STANDARD_FILES_RAW_SECTIONS[type]) self.assertDictEqual(readSectionsFileParser.sections, checkingSectionsFileParser.sections) os.close(fileDescriptor) # Standard sections files with namespaces. for type, file in STANDARD_FILES.iteritems(): readSectionsFileParser = SectionsFileParser(file) readSectionsFileParser.read() and readSectionsFileParser.parse( namespaces=True, stripComments=False, rawSections=STANDARD_FILES_RAW_SECTIONS[type]) fileDescriptor, path = tempfile.mkstemp() writeSectionsFileParser = SectionsFileParser(path) writeSectionsFileParser.sections = readSectionsFileParser.sections writeSectionsFileParser.comments = readSectionsFileParser.comments writeSectionsFileParser.write(namespaces=True) checkingSectionsFileParser = SectionsFileParser( writeSectionsFileParser.path) checkingSectionsFileParser.read( ) and checkingSectionsFileParser.parse( namespaces=False, stripComments=False, rawSections=STANDARD_FILES_RAW_SECTIONS[type]) self.assertDictEqual(readSectionsFileParser.sections, checkingSectionsFileParser.sections) os.close(fileDescriptor) # Default section file. readSectionsFileParser = SectionsFileParser(DEFAULTS_FILE) readSectionsFileParser.read() and readSectionsFileParser.parse() fileDescriptor, path = tempfile.mkstemp() writeSectionsFileParser = SectionsFileParser(path) writeSectionsFileParser.sections = readSectionsFileParser.sections writeSectionsFileParser.comments = readSectionsFileParser.comments writeSectionsFileParser.write() checkingSectionsFileParser = SectionsFileParser( writeSectionsFileParser.path) checkingSectionsFileParser.read() and checkingSectionsFileParser.parse( ) os.close(fileDescriptor)