buildframework/helium/external/python/lib/common/Sphinx-0.5.1-py2.5.egg/sphinx/util/compat.py
author wbernard
Wed, 23 Dec 2009 19:29:07 +0200
changeset 179 d8ac696cc51f
permissions -rw-r--r--
helium_7.0-r14027
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
179
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
     1
# -*- coding: utf-8 -*-
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
     2
"""
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
     3
    sphinx.util.compat
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
     4
    ~~~~~~~~~~~~~~~~~~
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
     5
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
     6
    Stuff for docutils compatibility.
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
     7
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
     8
    :copyright: 2008 by Georg Brandl.
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
     9
    :license: BSD.
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    10
"""
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    11
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    12
from docutils import nodes
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    13
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    14
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    15
# function missing in 0.5 SVN
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    16
def make_admonition(node_class, name, arguments, options, content, lineno,
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    17
                    content_offset, block_text, state, state_machine):
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    18
    #if not content:
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    19
    #    error = state_machine.reporter.error(
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    20
    #        'The "%s" admonition is empty; content required.' % (name),
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    21
    #        nodes.literal_block(block_text, block_text), line=lineno)
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    22
    #    return [error]
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    23
    text = '\n'.join(content)
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    24
    admonition_node = node_class(text)
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    25
    if arguments:
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    26
        title_text = arguments[0]
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    27
        textnodes, messages = state.inline_text(title_text, lineno)
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    28
        admonition_node += nodes.title(title_text, '', *textnodes)
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    29
        admonition_node += messages
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    30
        if options.has_key('class'):
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    31
            classes = options['class']
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    32
        else:
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    33
            classes = ['admonition-' + nodes.make_id(title_text)]
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    34
        admonition_node['classes'] += classes
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    35
    state.nested_parse(content, content_offset, admonition_node)
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    36
    return [admonition_node]
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    37