# HG changeset patch # User Edouard Tisserant # Date 1518882176 -3600 # Node ID a4382ae1ba82128369ee7bf8c69ed508e478da75 # Parent cde74a39df51a3d900a25d2a69beb92245686655 Added /plcopen/InstancesPathCollector.py, to move more model xslt querying code away from PLCController.py. diff -r cde74a39df51 -r a4382ae1ba82 PLCControler.py --- a/PLCControler.py Fri Feb 16 18:38:30 2018 +0100 +++ b/PLCControler.py Sat Feb 17 16:42:56 2018 +0100 @@ -38,7 +38,7 @@ import util.paths as paths from util.TranslationCatalogs import NoTranslate from plcopen import * -from plcopen.XSLTModelQuery import XSLTModelQuery +from plcopen.InstancesPathCollector import InstancesPathCollector from graphics.GraphicCommons import * from PLCGenerator import * @@ -268,24 +268,6 @@ [_BoolValue] * 2, args) + [[]]))) -class InstancesPathCollector(XSLTModelQuery): - """ object for collecting instances path list""" - def __init__(self, controller): - self.Instances = [] - XSLTModelQuery.__init__(self, - controller, - "instances_path.xslt", - [("AddInstance", self.AddInstance)]) - - def AddInstance(self, context, *args): - self.Instances.append(args[0][0]) - - def Collect(self, root, name, debug): - self._process_xslt(root, debug, instance_type = name) - res = self.Instances - self.Instances = [] - return res - class InstanceTagName(object): """Helpers object for generating instance tagname""" diff -r cde74a39df51 -r a4382ae1ba82 plcopen/InstancesPathCollector.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/plcopen/InstancesPathCollector.py Sat Feb 17 16:42:56 2018 +0100 @@ -0,0 +1,26 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# This file is part of Beremiz. +# See COPYING file for copyrights details. + +from __future__ import absolute_import +from plcopen.XSLTModelQuery import XSLTModelQuery + +class InstancesPathCollector(XSLTModelQuery): + """ object for collecting instances path list""" + def __init__(self, controller): + self.Instances = [] + XSLTModelQuery.__init__(self, + controller, + "instances_path.xslt", + [("AddInstance", self.AddInstance)]) + + def AddInstance(self, context, *args): + self.Instances.append(args[0][0]) + + def Collect(self, root, name, debug): + self._process_xslt(root, debug, instance_type = name) + res = self.Instances + self.Instances = [] + return res +