diff -r 649399ffdaf0 -r cf3db1775105 plcopen/plcopen.py --- 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"):