plcopen/structures.py
branchpython3
changeset 3750 f62625418bff
parent 2456 7373e3048167
child 3751 a80a66ba52d6
--- a/plcopen/structures.py	Mon Mar 27 10:19:14 2023 +0200
+++ b/plcopen/structures.py	Fri Oct 28 12:39:15 2022 +0800
@@ -23,7 +23,7 @@
 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
 
 
-from __future__ import absolute_import
+
 import re
 from collections import OrderedDict
 from functools import reduce
@@ -53,7 +53,7 @@
     """
     Returns list of all types that correspont to the ANY* meta type
     """
-    return [typename for typename, _parenttype in TypeHierarchy.items() if not typename.startswith("ANY") and IsOfType(typename, type)]
+    return [typename for typename, _parenttype in list(TypeHierarchy.items()) if not typename.startswith("ANY") and IsOfType(typename, type)]
 
 
 DataTypeRange = dict(DataTypeRange_list)
@@ -78,7 +78,7 @@
                for libname, tc6fname in StdTC6Libs}
 StdBlckLst = [{"name": libname, "list":
                [GetBlockInfos(pous) for pous in lib.getpous()]}
-              for libname, lib in StdBlckLibs.iteritems()]
+              for libname, lib in StdBlckLibs.items()]
 
 # -------------------------------------------------------------------------------
 #                             Test identifier
@@ -148,7 +148,7 @@
     len_of_not_predifined_variable = len([True for param_type in decl if param_type not in variables])
 
     for param_type in decl:
-        if param_type in variables.keys():
+        if param_type in list(variables.keys()):
             param_name = param_type
             param_type = variables[param_type]
         elif len_of_not_predifined_variable > 1:
@@ -202,7 +202,7 @@
                 Function_decl = dict([(champ, val) for champ, val in zip(fonctions, fields[1:]) if champ])
                 baseinputnumber = int(Function_decl.get("baseinputnumber", 1))
                 Function_decl["baseinputnumber"] = baseinputnumber
-                for param, value in Function_decl.iteritems():
+                for param, value in Function_decl.items():
                     if param in translate:
                         Function_decl[param] = translate[param](value)
                 Function_decl["type"] = "function"
@@ -250,13 +250,13 @@
                         store = True
                         for (InTypes, OutTypes) in ANY_TO_ANY_FILTERS.get(filter_name, []):
                             outs = reduce(lambda a, b: a or b,
-                                          map(lambda testtype: IsOfType(
+                                          [IsOfType(
                                               Function_decl["outputs"][0][1],
-                                              testtype), OutTypes))
+                                              testtype) for testtype in OutTypes])
                             inps = reduce(lambda a, b: a or b,
-                                          map(lambda testtype: IsOfType(
+                                          [IsOfType(
                                               Function_decl["inputs"][0][1],
-                                              testtype), InTypes))
+                                              testtype) for testtype in InTypes])
                             if inps and outs and Function_decl["outputs"][0][1] != Function_decl["inputs"][0][1]:
                                 store = True
                                 break
@@ -308,7 +308,7 @@
 TYPE_BLOCK_START_KEYWORDS = ["TYPE", "STRUCT"]
 TYPE_BLOCK_END_KEYWORDS = ["END_TYPE", "END_STRUCT"]
 TYPE_KEYWORDS = ["ARRAY", "OF", "T", "D", "TIME_OF_DAY", "DATE_AND_TIME"] + TYPE_BLOCK_START_KEYWORDS + TYPE_BLOCK_END_KEYWORDS
-TYPE_KEYWORDS.extend([keyword for keyword in TypeHierarchy.keys() if keyword not in TYPE_KEYWORDS])
+TYPE_KEYWORDS.extend([keyword for keyword in list(TypeHierarchy.keys()) if keyword not in TYPE_KEYWORDS])
 
 
 # Keywords for Variable Declaration