Package genshi :: Package template :: Module directives :: Class ContentDirective

Class ContentDirective

object --+    
 Directive --+

Implementation of the py:content template directive.

This directive replaces the content of the element with the result of evaluating the value of the py:content attribute:

>>> from genshi.template import MarkupTemplate
>>> tmpl = MarkupTemplate('''<ul xmlns:py="">
...   <li py:content="bar">Hello</li>
... </ul>''')
>>> print(tmpl.generate(bar='Bye'))
Nested Classes

Inherited from Directive: __metaclass__

Instance Methods

Inherited from Directive: __call__, __init__, __repr__

Inherited from object: __delattr__, __format__, __getattribute__, __hash__, __new__, __reduce__, __reduce_ex__, __setattr__, __sizeof__, __str__, __subclasshook__

Class Methods
attach(cls, template, stream, value, namespaces, pos)
Called after the template stream has been completely parsed.
Class Variables
  tagname = 'content'

Inherited from Directive: expr

Inherited from object: __class__

Method Details

attach(cls, template, stream, value, namespaces, pos)
Class Method


Called after the template stream has been completely parsed.

This class method should return a (directive, stream) tuple. If directive is not None, it should be an instance of the Directive class, and gets added to the list of directives applied to the substream at runtime. stream is an event stream that replaces the original stream associated with the directive.

  • template - the Template object
  • stream - the event stream associated with the directive
  • value - the argument value for the directive; if the directive was specified as an element, this will be an Attrs instance with all specified attributes, otherwise it will be a unicode object with just the attribute value
  • namespaces - a mapping of namespace URIs to prefixes
  • pos - a (filename, lineno, offset) tuple describing the location where the directive was found in the source
Overrides: Directive.attach
(inherited documentation)