Sat, 11 Sep 2010 19:26:32 +0200
Added code to handle unsupported versions to the new XML readers.
--- a/E5XML/PluginRepositoryReader.py Sat Sep 11 19:00:54 2010 +0200 +++ b/E5XML/PluginRepositoryReader.py Sat Sep 11 19:26:32 2010 +0200 @@ -16,6 +16,8 @@ """ Class to read the plug-in repository contents file. """ + supportedVersions = ["4.1", "4.2"] + def __init__(self, device, dlg): """ Constructor @@ -39,6 +41,8 @@ if self.name() == "Plugins": self.version = self.attribute("version", pluginRepositoryFileFormatVersion) + if self.version not in self.supportedVersions: + self.raiseUnsupportedFormatVersion(self.version) elif self.name() == "RepositoryUrl": url = self.readElementText() Preferences.setUI("PluginRepositoryUrl5", url)
--- a/E5XML/TasksReader.py Sat Sep 11 19:00:54 2010 +0200 +++ b/E5XML/TasksReader.py Sat Sep 11 19:26:32 2010 +0200 @@ -20,6 +20,8 @@ """ Class for reading an XML tasks file. """ + supportedVersions = ["4.2"] + def __init__(self, device, forProject = False, viewer = None): """ Constructor @@ -49,6 +51,8 @@ if self.isStartElement(): if self.name() == "Tasks": self.version = self.attribute("version", tasksFileFormatVersion) + if self.version not in self.supportedVersions: + self.raiseUnsupportedFormatVersion(self.version) elif self.name() == "Task": self.__readTask() else:
--- a/E5XML/TemplatesReader.py Sat Sep 11 19:00:54 2010 +0200 +++ b/E5XML/TemplatesReader.py Sat Sep 11 19:26:32 2010 +0200 @@ -16,6 +16,8 @@ """ Class for reading an XML tasks file. """ + supportedVersions = ["4.0"] + def __init__(self, device, viewer = None): """ Constructor @@ -42,6 +44,8 @@ if self.isStartElement(): if self.name() == "Templates": self.version = self.attribute("version", templatesFileFormatVersion) + if self.version not in self.supportedVersions: + self.raiseUnsupportedFormatVersion(self.version) elif self.name() == "TemplateGroup": self.__readTemplateGroup() else:
--- a/E5XML/XMLStreamReaderBase.py Sat Sep 11 19:00:54 2010 +0200 +++ b/E5XML/XMLStreamReaderBase.py Sat Sep 11 19:26:32 2010 +0200 @@ -59,6 +59,15 @@ self.raiseError(QCoreApplication.translate("XMLStreamReaderBase", "Unexpected start tag '{0}'.".format(tag))) + def raiseUnsupportedFormatVersion(self, version): + """ + Public method to raise an error for an unsupported file format version. + + @param version unsupported version (string) + """ + self.raiseError(QCoreApplication.translate("XMLStreamReaderBase", + "File format version '{0}' is not supported.".format(version))) + def readXML(self): """ Public method to read and parse the XML document.