buildframework/helium/external/python/lib/common/docutils-0.5-py2.5.egg/docutils/readers/pep.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
# $Id: pep.py 4564 2006-05-21 20:44:42Z wiemann $
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
     2
# Author: David Goodger <goodger@python.org>
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
     3
# Copyright: This module has been placed in the public domain.
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
Python Enhancement Proposal (PEP) Reader.
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
     7
"""
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
     8
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
     9
__docformat__ = 'reStructuredText'
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.readers import standalone
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    13
from docutils.transforms import peps, references, misc, frontmatter
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    14
from docutils.parsers import rst
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    15
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    16
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    17
class Reader(standalone.Reader):
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    18
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    19
    supported = ('pep',)
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    20
    """Contexts this reader supports."""
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    21
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    22
    settings_spec = (
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    23
        'PEP Reader Option Defaults',
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    24
        'The --pep-references and --rfc-references options (for the '
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    25
        'reStructuredText parser) are on by default.',
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    26
        ())
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    27
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    28
    config_section = 'pep reader'
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    29
    config_section_dependencies = ('readers', 'standalone reader')
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    30
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    31
    def get_transforms(self):
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    32
        transforms = standalone.Reader.get_transforms(self)
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    33
        # We have PEP-specific frontmatter handling.
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    34
        transforms.remove(frontmatter.DocTitle)
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    35
        transforms.remove(frontmatter.SectionSubTitle)
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    36
        transforms.remove(frontmatter.DocInfo)
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    37
        transforms.extend([peps.Headers, peps.Contents, peps.TargetNotes])
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    38
        return transforms
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    39
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    40
    settings_default_overrides = {'pep_references': 1, 'rfc_references': 1}
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    41
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    42
    inliner_class = rst.states.Inliner
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    43
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    44
    def __init__(self, parser=None, parser_name=None):
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    45
        """`parser` should be ``None``."""
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    46
        if parser is None:
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    47
            parser = rst.Parser(rfc2822=1, inliner=self.inliner_class())
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    48
        standalone.Reader.__init__(self, parser, '')