+++ /dev/null
-from engine.plugin import Plugin
-
-class Composite (Plugin):
-
- def __init__ (self, sons=[], active=None, *args, **kwds):
- Plugin.__init__ (self, *args, **kwds)
- self.sons=sons
- self.active=active
-
- def insert (self, plugin):
- self.sons.append(plugin)
-
- # xxx currently there is no guarantee that exactly one son will be active
- def template_env (self, request):
- # this is designed so as to support a template like
- # {% for son in sons %} {{ son.rendered }} ...
- def is_active (son):
-# print 'comparing >%s< and >%s<'%(son.domid,self.active)
- return son.domid==self.active
- ranks=range(len(self.sons))
- env = { 'sons':
- [ { 'rendered': son.render(request),
- 'rank': rank,
- 'active': is_active(son),
- 'title': son.title,
- 'domid': son.domid,
- 'classname': son.classname,
- }
- for (son,rank) in zip(self.sons,ranks) ]}
- return env
-