Ejemplo n.º 1
0
 def build(self, source):
     t0 = time.clock()
     try:
         self.root = etree.fromstring(source.read())
         self.componentManager = ComponentManager()
         components = self.root.find("{%(map)s}components" % ns)
         if components is not None:
             self.componentManager.configure(components)
         return self.buildNode(self.root.find("{%(map)s}pipelines" % ns))
     finally:
         t1 = time.clock()
         self.log.debug("%s is built in %.3f s" % (source.uri, t1 - t0))
Ejemplo n.º 2
0
    def configure(self, element):
        sitemap = element.find("sitemap")
        self.checkReload = (sitemap.get("check-reload", "yes") == "yes")
        self.uri = sitemap.get("file", "sitemap.xmap")
        self.source = SourceResolver().resolveUri(self.uri, self.contextPath)
        self.log = logging.getLogger(sitemap.get("logger"))

        self.parentComponentManager = ComponentManager()
        elems = element.findall("input-modules/component-instance")

        def getClassAndElement(e):
            return (self.parentComponentManager.classLoader.getClass(
                e.get("{%(py)s}class" % ns)), e)

        classes = dict([(e.get("name"), getClassAndElement(e)) for e in elems])
        self.parentComponentManager.components["input-module"] = (classes,
                                                                  None, None)

        self.log.debug("Tree processor is configured")