Exemple #1
0
	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)