changeset 179 | d8ac696cc51f |
parent 1 | be27ed110b50 |
child 180 | e02a83d4c571 |
child 592 | 3215c239276a |
--- a/buildframework/helium/external/python/lib/2.5/docutils-0.5-py2.5.egg/docutils/transforms/writer_aux.py Wed Oct 28 14:39:48 2009 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,88 +0,0 @@ -# $Id: writer_aux.py 5174 2007-05-31 00:01:52Z wiemann $ -# Author: Lea Wiemann <LeWiemann@gmail.com> -# Copyright: This module has been placed in the public domain. - -""" -Auxiliary transforms mainly to be used by Writer components. - -This module is called "writer_aux" because otherwise there would be -conflicting imports like this one:: - - from docutils import writers - from docutils.transforms import writers -""" - -__docformat__ = 'reStructuredText' - -from docutils import nodes, utils, languages -from docutils.transforms import Transform - - -class Compound(Transform): - - """ - Flatten all compound paragraphs. For example, transform :: - - <compound> - <paragraph> - <literal_block> - <paragraph> - - into :: - - <paragraph> - <literal_block classes="continued"> - <paragraph classes="continued"> - """ - - default_priority = 910 - - def apply(self): - for compound in self.document.traverse(nodes.compound): - first_child = 1 - for child in compound: - if first_child: - if not isinstance(child, nodes.Invisible): - first_child = 0 - else: - child['classes'].append('continued') - # Substitute children for compound. - compound.replace_self(compound[:]) - - -class Admonitions(Transform): - - """ - Transform specific admonitions, like this: - - <note> - <paragraph> - Note contents ... - - into generic admonitions, like this:: - - <admonition classes="note"> - <title> - Note - <paragraph> - Note contents ... - - The admonition title is localized. - """ - - default_priority = 920 - - def apply(self): - lcode = self.document.settings.language_code - language = languages.get_language(lcode) - for node in self.document.traverse(nodes.Admonition): - node_name = node.__class__.__name__ - # Set class, so that we know what node this admonition came from. - node['classes'].append(node_name) - if not isinstance(node, nodes.admonition): - # Specific admonition. Transform into a generic admonition. - admonition = nodes.admonition(node.rawsource, *node.children, - **node.attributes) - title = nodes.title('', language.labels[node_name]) - admonition.insert(0, title) - node.replace_self(admonition)