py_ext/PythonFileCTNMixin.py
changeset 1878 fb73a6b6622d
parent 1853 47a3f39bead0
child 1897 62f9cae9a25f
--- a/py_ext/PythonFileCTNMixin.py	Thu Oct 19 10:57:35 2017 +0300
+++ b/py_ext/PythonFileCTNMixin.py	Thu Oct 19 11:03:03 2017 +0300
@@ -99,21 +99,29 @@
         location_str = "_".join(map(str, self.GetCurrentLocation()))
         configname = self.GetCTRoot().GetProjectConfigNames()[0]
 
+        def _onchangecode(var):
+            return '"' + var.getonchange() + \
+                "('" + var.getname() + "')\"" \
+                if var.getonchange() else '""'
+
+        def _onchange(var):
+            return repr(var.getonchange()) \
+                if var.getonchange() else None
+
         pyextname = self.CTNName()
-        varinfos = map(lambda variable: {
-            "name": variable.getname(),
-            "desc": repr(variable.getdesc()),
-            "onchangecode": '"' + variable.getonchange() +
-            "('" + variable.getname() + "')\""
-            if variable.getonchange() else '""',
-            "onchange": repr(variable.getonchange())
-            if variable.getonchange() else None,
-            "opts": repr(variable.getopts()),
-            "configname": configname.upper(),
-            "uppername": variable.getname().upper(),
-            "IECtype": variable.gettype(),
-            "pyextname": pyextname},
-                       self.CodeFile.variables.variable)
+        varinfos = map(
+            lambda variable: {
+                "name": variable.getname(),
+                "desc": repr(variable.getdesc()),
+                "onchangecode": _onchangecode(variable),
+                "onchange": _onchange(variable),
+                "opts": repr(variable.getopts()),
+                "configname": configname.upper(),
+                "uppername": variable.getname().upper(),
+                "IECtype": variable.gettype(),
+                "pyextname": pyextname
+            },
+            self.CodeFile.variables.variable)
         # python side PLC global variables access stub
         globalstubs = "\n".join([
             """\
@@ -250,9 +258,9 @@
         varpub = "\n".join([(varpubonchangefmt if varinfo["onchange"] else
                              varpubfmt) % varinfo
                             for varinfo in varinfos])
-        varinit = "\n".join([varinitonchangefmt % dict(
-                                onchangelen=len(varinfo["onchangecode"]), **varinfo)
-                            for varinfo in varinfos if varinfo["onchange"]])
+        varinit = "\n".join([varinitonchangefmt %
+                             dict(onchangelen=len(varinfo["onchangecode"]), **varinfo)
+                             for varinfo in varinfos if varinfo["onchange"]])
 
         loc_dict = {
             "vardec": vardec,