PLCControler.py
changeset 1954 b113d7de4899
parent 1953 5736d25bb393
child 1957 2d1cc4f5e4ef
equal deleted inserted replaced
1953:5736d25bb393 1954:b113d7de4899
    47 from PLCGenerator import *
    47 from PLCGenerator import *
    48 
    48 
    49 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)?")
    49 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)?")
    50 
    50 
    51 ScriptDirectory = paths.AbsDir(__file__)
    51 ScriptDirectory = paths.AbsDir(__file__)
    52 
       
    53 
       
    54 class LibraryResolver(etree.Resolver):
       
    55     """Helper object for loading library in xslt stylesheets"""
       
    56 
       
    57     def __init__(self, controller, debug=False):
       
    58         self.Controller = controller
       
    59         self.Debug = debug
       
    60 
       
    61     def resolve(self, url, pubid, context):
       
    62         # TODO stop deepcopy
       
    63         lib_name = os.path.basename(url)
       
    64         if lib_name in ["project", "stdlib", "extensions"]:
       
    65             lib_el = etree.Element(lib_name)
       
    66             if lib_name == "project":
       
    67                 lib_el.append(deepcopy(self.Controller.GetProject(self.Debug)))
       
    68             elif lib_name == "stdlib":
       
    69                 for lib in StdBlckLibs.values():
       
    70                     lib_el.append(deepcopy(lib))
       
    71             else:
       
    72                 for ctn in self.Controller.ConfNodeTypes:
       
    73                     lib_el.append(deepcopy(ctn["types"]))
       
    74             return self.resolve_string(etree.tostring(lib_el), context)
       
    75 
       
    76 
    52 
    77 # -------------------------------------------------------------------------------
    53 # -------------------------------------------------------------------------------
    78 #           Helpers object for generating pou block instances list
    54 #           Helpers object for generating pou block instances list
    79 # -------------------------------------------------------------------------------
    55 # -------------------------------------------------------------------------------
    80 
    56