123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- # $Id: pep.py 9037 2022-03-05 23:31:10Z milde $
- # Author: David Goodger <goodger@python.org>
- # Copyright: This module has been placed in the public domain.
- """
- Python Enhancement Proposal (PEP) Reader.
- """
- __docformat__ = 'reStructuredText'
- from docutils.readers import standalone
- from docutils.transforms import peps, frontmatter
- from docutils.parsers import rst
- class Reader(standalone.Reader):
- supported = ('pep',)
- """Contexts this reader supports."""
- settings_spec = (
- 'PEP Reader Option Defaults',
- 'The --pep-references and --rfc-references options (for the '
- 'reStructuredText parser) are on by default.',
- ())
- config_section = 'pep reader'
- config_section_dependencies = ('readers', 'standalone reader')
- def get_transforms(self):
- transforms = standalone.Reader.get_transforms(self)
- # We have PEP-specific frontmatter handling.
- transforms.remove(frontmatter.DocTitle)
- transforms.remove(frontmatter.SectionSubTitle)
- transforms.remove(frontmatter.DocInfo)
- transforms.extend([peps.Headers, peps.Contents, peps.TargetNotes])
- return transforms
- settings_default_overrides = {'pep_references': 1, 'rfc_references': 1}
- inliner_class = rst.states.Inliner
- def __init__(self, parser=None, parser_name=None):
- """`parser` should be ``None``."""
- if parser is None:
- parser = rst.Parser(rfc2822=True, inliner=self.inliner_class())
- standalone.Reader.__init__(self, parser, '')
|