Added code to handle unsupported versions to the new XML readers.

Sat, 11 Sep 2010 19:26:32 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Sat, 11 Sep 2010 19:26:32 +0200
changeset 590
beb60b9b3d8d
parent 589
a9a4620f6767
child 591
c92803caf37f

Added code to handle unsupported versions to the new XML readers.

E5XML/PluginRepositoryReader.py file | annotate | diff | comparison | revisions
E5XML/TasksReader.py file | annotate | diff | comparison | revisions
E5XML/TemplatesReader.py file | annotate | diff | comparison | revisions
E5XML/XMLStreamReaderBase.py file | annotate | diff | comparison | revisions
--- 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.

eric ide

mercurial