plcopen/plcopen.py
changeset 700 cf3db1775105
parent 687 629680fb0582
child 710 365bb7496697
--- a/plcopen/plcopen.py	Wed May 30 12:20:27 2012 +0200
+++ b/plcopen/plcopen.py	Sun Jun 03 23:47:13 2012 +0200
@@ -178,52 +178,57 @@
     
     def getfileHeader(self):
         fileheader = {}
-        fileheader["companyName"] = self.fileHeader.getcompanyName()
-        if self.fileHeader.getcompanyURL():
-            fileheader["companyURL"] = self.fileHeader.getcompanyURL()
-        fileheader["productName"] = self.fileHeader.getproductName()
-        fileheader["productVersion"] = self.fileHeader.getproductVersion()
-        if self.fileHeader.getproductRelease():
-            fileheader["productRelease"] = self.fileHeader.getproductRelease()
-        fileheader["creationDateTime"] = self.fileHeader.getcreationDateTime()
-        if self.fileHeader.getcontentDescription():
-            fileheader["contentDescription"] = self.fileHeader.getcontentDescription()
+        for name, value in [("companyName", self.fileHeader.getcompanyName()),
+                            ("companyURL", self.fileHeader.getcompanyURL()),
+                            ("productName", self.fileHeader.getproductName()),
+                            ("productVersion", self.fileHeader.getproductVersion()),
+                            ("productRelease", self.fileHeader.getproductRelease()),
+                            ("creationDateTime", self.fileHeader.getcreationDateTime()),
+                            ("contentDescription", self.fileHeader.getcontentDescription())]:
+            if value is not None:
+                fileheader[name] = value
+            else:
+                fileheader[name] = ""
         return fileheader
     setattr(cls, "getfileHeader", getfileHeader)
     
     def setfileHeader(self, fileheader):
-        self.fileHeader.setcompanyName(fileheader["companyName"])
+        if fileheader.has_key("companyName"):
+            self.fileHeader.setcompanyName(fileheader["companyName"])
         if fileheader.has_key("companyURL"):
             self.fileHeader.setcompanyURL(fileheader["companyURL"])
-        self.fileHeader.setproductName(fileheader["productName"])
-        self.fileHeader.setproductVersion(fileheader["productVersion"])
+        if fileheader.has_key("productName"):
+            self.fileHeader.setproductName(fileheader["productName"])
+        if fileheader.has_key("productVersion"):
+            self.fileHeader.setproductVersion(fileheader["productVersion"])
         if fileheader.has_key("productRelease"):
             self.fileHeader.setproductRelease(fileheader["productRelease"])
-        self.fileHeader.setcreationDateTime(fileheader["creationDateTime"])
+        if fileheader.has_key("creationDateTime"):
+            self.fileHeader.setcreationDateTime(fileheader["creationDateTime"])
         if fileheader.has_key("contentDescription"):
             self.fileHeader.setcontentDescription(fileheader["contentDescription"])
     setattr(cls, "setfileHeader", setfileHeader)
     
     def getcontentHeader(self):
         contentheader = {}
-        contentheader["projectName"] = self.contentHeader.getname()
-        if self.contentHeader.getversion():
-            contentheader["projectVersion"] = self.contentHeader.getversion()
-        if self.contentHeader.getmodificationDateTime():
-            contentheader["modificationDateTime"] = self.contentHeader.getmodificationDateTime()
-        if self.contentHeader.getorganization():
-            contentheader["organization"] = self.contentHeader.getorganization()
-        if self.contentHeader.getauthor():
-            contentheader["authorName"] = self.contentHeader.getauthor()
-        if self.contentHeader.getlanguage():
-            contentheader["language"] = self.contentHeader.getlanguage()
+        for name, value in [("projectName", self.contentHeader.getname()),
+                            ("projectVersion", self.contentHeader.getversion()),
+                            ("modificationDateTime", self.contentHeader.getmodificationDateTime()),
+                            ("organization", self.contentHeader.getorganization()),
+                            ("authorName", self.contentHeader.getauthor()),
+                            ("language", self.contentHeader.getlanguage())]:
+            if value is not None:
+                contentheader[name] = value
+            else:
+                contentheader[name] = ""
         contentheader["pageSize"] = self.contentHeader.getpageSize()
         contentheader["scaling"] = self.contentHeader.getscaling()
         return contentheader
     setattr(cls, "getcontentHeader", getcontentHeader)
     
     def setcontentHeader(self, contentheader):
-        self.contentHeader.setname(contentheader["projectName"])
+        if contentheader.has_key("projectName"):
+            self.contentHeader.setname(contentheader["projectName"])
         if contentheader.has_key("projectVersion"):
             self.contentHeader.setversion(contentheader["projectVersion"])
         if contentheader.has_key("modificationDateTime"):