Пример #1
0
    def save_vocables(cls, vocable_list, xml_file_path, xsd_file_path):
        delimiter = AppSettings.get_setting_by_name(AppSettings.ATTRIBUTE_VALUE_SEPARATOR_SETTING_NAME)
        xml_parser = XMLParser()

        new_xml_root = etree.Element("list")
        for vocable in vocable_list:
            vocable_node = FileManager.create_vocable_xml_node(new_xml_root, vocable, delimiter)

        # # test print
        # rough_string = etree.tostring(new_xml_root, encoding='unicode')
        # reparsed = minidom.parseString(rough_string)
        # pretty_printed = reparsed.toprettyxml(indent='\t', encoding='utf-8')
        # print(pretty_printed[:600])
        # with open('/home/xiaolong/testfile.xml', 'w') as file:
        #     file.write(str(pretty_printed))
        # # end

        if xml_parser.validate_tree(xsd_file_path, new_xml_root):
            xml_parser.write_xml_file(xml_file_path, new_xml_root)
        else:
            raise XMLInvalidException(
                "The XML is not valid. Could not write vocables to file: "
                + xml_file_path
                + " validating against XSD: "
                + xsd_file_path
            )
Пример #2
0
    def save_vocables(cls, vocable_list, xml_file_path, xsd_file_path):
        delimiter = AppSettings.get_setting_by_name(
            AppSettings.ATTRIBUTE_VALUE_SEPARATOR_SETTING_NAME)
        xml_parser = XMLParser()

        new_xml_root = etree.Element('list')
        for vocable in vocable_list:
            vocable_node = FileManager.create_vocable_xml_node(
                new_xml_root, vocable, delimiter)

        # # test print
        # rough_string = etree.tostring(new_xml_root, encoding='unicode')
        # reparsed = minidom.parseString(rough_string)
        # pretty_printed = reparsed.toprettyxml(indent='\t', encoding='utf-8')
        # print(pretty_printed[:600])
        # with open('/home/xiaolong/testfile.xml', 'w') as file:
        #     file.write(str(pretty_printed))
        # # end

        if xml_parser.validate_tree(xsd_file_path, new_xml_root):
            xml_parser.write_xml_file(xml_file_path, new_xml_root)
        else:
            raise XMLInvalidException(
                'The XML is not valid. Could not write vocables to file: ' +
                xml_file_path + ' validating against XSD: ' + xsd_file_path)
Пример #3
0
    def save_settings(cls):
        # print('trying to save settings:', AppSettings.settings)

        xml_settings_file_path = get_full_path('res/settings', 'settings.xml')
        xsd_settings_file_path = get_full_path('res/settings', 'settings.xsd')

        xml_parser = XMLParser()

        new_xml_root = etree.Element('list')
        for key, value in AppSettings.settings.items():
            setting_node = etree.SubElement(new_xml_root, 'setting')
            name_node = etree.SubElement(setting_node, 'name')
            name_node.text = key
            value_node = etree.SubElement(setting_node, 'value')
            value_node.text = value

        if xml_parser.validate_tree(xsd_settings_file_path, new_xml_root):
            xml_parser.write_xml_file(xml_settings_file_path, new_xml_root)
        else:
            raise XMLInvalidException('The XML is not valid.')
Пример #4
0
    def save_settings(cls):
        # print('trying to save settings:', AppSettings.settings)

        xml_settings_file_path = get_full_path('res/settings', 'settings.xml')
        xsd_settings_file_path = get_full_path('res/settings', 'settings.xsd')

        xml_parser = XMLParser()

        new_xml_root = etree.Element('list')
        for key, value in AppSettings.settings.items():
            setting_node = etree.SubElement(new_xml_root, 'setting')
            name_node = etree.SubElement(setting_node, 'name')
            name_node.text = key
            value_node = etree.SubElement(setting_node, 'value')
            value_node.text = value

        if xml_parser.validate_tree(xsd_settings_file_path, new_xml_root):
            xml_parser.write_xml_file(xml_settings_file_path, new_xml_root)
        else:
            raise XMLInvalidException('The XML is not valid.')