PLCControler.py
changeset 1944 6162e34fb246
parent 1943 9dc0e38552b2
child 1948 b9a3f771aaab
--- a/PLCControler.py	Sat Feb 17 23:58:47 2018 +0100
+++ b/PLCControler.py	Sun Feb 18 21:30:48 2018 +0100
@@ -38,6 +38,8 @@
 import util.paths as paths
 from util.TranslationCatalogs import NoTranslate
 from plcopen import *
+from plcopen.types_enums import *
+from plcopen.XSLTModelQuery import  _StringValue, _BoolValue, _translate_args
 from plcopen.InstancesPathCollector import InstancesPathCollector
 from plcopen.POUVariablesCollector import POUVariablesCollector
 from graphics.GraphicCommons import *
@@ -45,77 +47,8 @@
 
 duration_model = re.compile("(?:([0-9]{1,2})h)?(?:([0-9]{1,2})m(?!s))?(?:([0-9]{1,2})s)?(?:([0-9]{1,3}(?:\.[0-9]*)?)ms)?")
 
-ITEMS_EDITABLE = [
-    ITEM_PROJECT,
-    ITEM_POU,
-    ITEM_VARIABLE,
-    ITEM_TRANSITION,
-    ITEM_ACTION,
-    ITEM_CONFIGURATION,
-    ITEM_RESOURCE,
-    ITEM_DATATYPE
-] = range(8)
-
-ITEMS_UNEDITABLE = [
-    ITEM_DATATYPES,
-    ITEM_FUNCTION,
-    ITEM_FUNCTIONBLOCK,
-    ITEM_PROGRAM,
-    ITEM_TRANSITIONS,
-    ITEM_ACTIONS,
-    ITEM_CONFIGURATIONS,
-    ITEM_RESOURCES,
-    ITEM_PROPERTIES
-] = range(8, 17)
-
-ITEMS_VARIABLE = [
-    ITEM_VAR_LOCAL,
-    ITEM_VAR_GLOBAL,
-    ITEM_VAR_EXTERNAL,
-    ITEM_VAR_TEMP,
-    ITEM_VAR_INPUT,
-    ITEM_VAR_OUTPUT,
-    ITEM_VAR_INOUT
-] = range(17, 24)
-
-VAR_CLASS_INFOS = {
-    "Local":    ("localVars",    ITEM_VAR_LOCAL),
-    "Global":   ("globalVars",   ITEM_VAR_GLOBAL),
-    "External": ("externalVars", ITEM_VAR_EXTERNAL),
-    "Temp":     ("tempVars",     ITEM_VAR_TEMP),
-    "Input":    ("inputVars",    ITEM_VAR_INPUT),
-    "Output":   ("outputVars",   ITEM_VAR_OUTPUT),
-    "InOut":    ("inOutVars",    ITEM_VAR_INOUT)}
-
-POU_TYPES = {
-    "program": ITEM_PROGRAM,
-    "functionBlock": ITEM_FUNCTIONBLOCK,
-    "function": ITEM_FUNCTION,
-}
-
-LOCATIONS_ITEMS = [LOCATION_CONFNODE,
-                   LOCATION_MODULE,
-                   LOCATION_GROUP,
-                   LOCATION_VAR_INPUT,
-                   LOCATION_VAR_OUTPUT,
-                   LOCATION_VAR_MEMORY] = range(6)
-
 ScriptDirectory = paths.AbsDir(__file__)
 
-
-def GetUneditableNames():
-    _ = NoTranslate
-    return [_("User-defined POUs"), _("Functions"), _("Function Blocks"),
-            _("Programs"), _("Data Types"), _("Transitions"), _("Actions"),
-            _("Configurations"), _("Resources"), _("Properties")]
-
-
-UNEDITABLE_NAMES = GetUneditableNames()
-[USER_DEFINED_POUS, FUNCTIONS, FUNCTION_BLOCKS, PROGRAMS,
- DATA_TYPES, TRANSITIONS, ACTIONS, CONFIGURATIONS,
- RESOURCES, PROPERTIES] = UNEDITABLE_NAMES
-
-
 class LibraryResolver(etree.Resolver):
     """Helper object for loading library in xslt stylesheets"""
 
@@ -138,24 +71,6 @@
                     lib_el.append(deepcopy(ctn["types"]))
             return self.resolve_string(etree.tostring(lib_el), context)
 
-# -------------------------------------------------------------------------------
-#           Helpers functions for translating list of arguments
-#                       from xslt to valid arguments
-# -------------------------------------------------------------------------------
-
-
-def _StringValue(x):
-    return x
-
-
-def _BoolValue(x):
-    return x in ["true", "0"]
-
-
-def _translate_args(translations, args):
-    return [translate(arg[0]) if len(arg) > 0 else None
-            for translate, arg in
-            zip(translations, args)]
 
 # -------------------------------------------------------------------------------
 #                 Helpers object for generating pou var list