plcopen/plcopen.py
changeset 379 e4c26ee9c998
parent 348 09fdd7616a86
child 383 25ffba02b6a8
--- a/plcopen/plcopen.py	Fri Jul 10 11:41:07 2009 +0200
+++ b/plcopen/plcopen.py	Thu Jul 23 17:50:26 2009 +0200
@@ -95,14 +95,14 @@
     
     def setfileHeader(self, fileheader):
         self.fileHeader.setcompanyName(fileheader["companyName"])
-        if "companyURL" in fileheader:
+        if fileheader.has_key("companyURL"):
             self.fileHeader.setcompanyURL(fileheader["companyURL"])
         self.fileHeader.setproductName(fileheader["productName"])
         self.fileHeader.setproductVersion(fileheader["productVersion"])
-        if "productRelease" in fileheader:
+        if fileheader.has_key("productRelease"):
             self.fileHeader.setproductRelease(fileheader["productRelease"])
         self.fileHeader.setcreationDateTime(fileheader["creationDateTime"])
-        if "contentDescription" in fileheader:
+        if fileheader.has_key("contentDescription"):
             self.fileHeader.setcontentDescription(fileheader["contentDescription"])
     setattr(cls, "setfileHeader", setfileHeader)
     
@@ -126,15 +126,15 @@
     
     def setcontentHeader(self, contentheader):
         self.contentHeader.setname(contentheader["projectName"])
-        if "projectVersion" in contentheader:
+        if contentheader.has_key("projectVersion"):
             self.contentHeader.setversion(contentheader["projectVersion"])
-        if "modificationDateTime" in contentheader:
+        if contentheader.has_key("modificationDateTime"):
             self.contentHeader.setmodificationDateTime(contentheader["modificationDateTime"])
-        if "organization" in contentheader:
+        if contentheader.has_key("organization"):
             self.contentHeader.setorganization(contentheader["organization"])
-        if "authorName" in contentheader:
+        if contentheader.has_key("authorName"):
             self.contentHeader.setauthor(contentheader["authorName"])
-        if "language" in contentheader:
+        if contentheader.has_key("language"):
             self.contentHeader.setlanguage(contentheader["language"])
         self.contentHeader.setpageSize(*contentheader["pageSize"])
         self.contentHeader.setscaling(contentheader["scaling"])
@@ -149,7 +149,7 @@
     setattr(cls, "getdataType", getdataType)
     
     def appenddataType(self, name):
-        if name in self.CustomTypeHierarchy:
+        if self.CustomTypeHierarchy.has_key(name):
             raise ValueError, "\"%s\" Data Type already exists !!!"%name
         self.types.appenddataTypeElement(name)
         self.AddCustomDataType(self.getdataType(name))
@@ -391,20 +391,20 @@
             basetype_content = datatype.baseType.getcontent()
             if basetype_content["name"] == "derived":
                 typename = basetype_content["value"].getname()
-                if typename in elementnames and name not in self.ElementUsingTree[typename]:
+                if name in self.ElementUsingTree[typename]:
                     self.ElementUsingTree[typename].append(name)
             elif basetype_content["name"] in ["subrangeSigned", "subrangeUnsigned", "array"]:
                 base_type = basetype_content["value"].baseType.getcontent()
                 if base_type["name"] == "derived":
                     typename = base_type["value"].getname()
-                    if typename in elementnames and name not in self.ElementUsingTree[typename]:
+                    if self.ElementUsingTree.has_key(typename) and name not in self.ElementUsingTree[typename]:
                         self.ElementUsingTree[typename].append(name)
             elif basetype_content["name"] == "struct":
                 for element in basetype_content["value"].getvariable():
                     type_content = element.type.getcontent()
                     if type_content["name"] == "derived":
                         typename = type_content["value"].getname()
-                        if typename in elementnames and name not in self.ElementUsingTree[typename]:
+                        if self.ElementUsingTree.has_key(typename) and name not in self.ElementUsingTree[typename]:
                             self.ElementUsingTree[typename].append(name)
         # Analyze each pou
         for pou in pous:
@@ -416,14 +416,14 @@
                         vartype_content = var.gettype().getcontent()
                         if vartype_content["name"] == "derived":
                             typename = vartype_content["value"].getname()
-                            if typename in elementnames and name not in self.ElementUsingTree[typename]:
+                            if self.ElementUsingTree.has_key(typename) and name not in self.ElementUsingTree[typename]:
                                 self.ElementUsingTree[typename].append(name)
     setattr(cls, "RefreshElementUsingTree", RefreshElementUsingTree)
 
     def GetParentType(self, type):
-        if type in self.CustomTypeHierarchy:
+        if self.CustomTypeHierarchy.has_key(type):
             return self.CustomTypeHierarchy[type]
-        elif type in TypeHierarchy:
+        elif TypeHierarchy.has_key(type):
             return TypeHierarchy[type]
         return None
     setattr(cls, "GetParentType", GetParentType)
@@ -465,7 +465,7 @@
 
     # Return if pou given by name is used by another pou
     def ElementIsUsed(self, name):
-        if name in self.ElementUsingTree:
+        if self.ElementUsingTree.has_key(name):
             return len(self.ElementUsingTree[name]) > 0
         return False
     setattr(cls, "ElementIsUsed", ElementIsUsed)
@@ -476,7 +476,7 @@
 
     # Return if pou given by name is directly or undirectly used by the reference pou
     def ElementIsUsedBy(self, name, reference):
-        if name in self.ElementUsingTree:
+        if self.ElementUsingTree.has_key(name):
             list = self.ElementUsingTree[name]
             # Test if pou is directly used by reference
             if reference in list:
@@ -492,9 +492,9 @@
     setattr(cls, "ElementIsUsedBy", ElementIsUsedBy)
 
     def GetDataTypeRange(self, type):
-        if type in self.CustomDataTypeRange:
+        if self.CustomDataTypeRange.has_key(type):
             return self.CustomDataTypeRange[type]
-        elif type in DataTypeRange:
+        elif DataTypeRange.has_key(type):
             return DataTypeRange[type]
         else:
             parent_type = self.GetParentType(type)
@@ -509,8 +509,8 @@
             for values in self.EnumeratedDataTypeValues.values():
                 all_values.extend(values)
             return all_values
-        elif type in self.EnumeratedDataTypeValues:
-            return self.EnumeratedDataTypeValues(type)
+        elif self.EnumeratedDataTypeValues.has_key(type):
+            return self.EnumeratedDataTypeValues[type]
         return []
     setattr(cls, "GetEnumeratedDataTypeValues", GetEnumeratedDataTypeValues)
 
@@ -1536,9 +1536,9 @@
             else:
                 action.addinline()
                 action.setinlineContent(params["value"])
-            if "duration" in params:
+            if params.has_key("duration"):
                 action.setduration(params["duration"])
-            if "indicator" in params:
+            if params.has_key("indicator"):
                 action.setindicator(params["indicator"])
             self.action.append(action)
     setattr(cls, "setactions", setactions)