Sha256: 0b608ea64b9dca397c8c392399a49442aa048d8aae7ff7b97f2e3eb2e0be7d08

Contents?: true

Size: 1.03 KB

Versions: 1

Compression:

Stored size: 1.03 KB

Contents

import sys
from docutils.core import publish_parts
from optparse import OptionParser
from docutils.frontend import OptionParser as DocutilsOptionParser
from docutils.parsers.rst import Parser


def transform(writer=None, part=None):
    p = OptionParser(add_help_option=False)

    # Collect all the command line options
    docutils_parser = DocutilsOptionParser(components=(writer, Parser()))
    for group in docutils_parser.option_groups:
        p.add_option_group(group.title, None).add_options(group.option_list)

    p.add_option("--part", default=part)

    opts, args = p.parse_args()

    settings = dict(
        {"file_insertion_enabled": False, "raw_enabled": False,}, **opts.__dict__
    )

    if len(args) == 1:
        try:
            content = open(args[0], "rb").read()
        except IOError:
            content = args[0]
    else:
        content = sys.stdin.read()

    parts = publish_parts(source=content, settings_overrides=settings, writer=writer,)

    if opts.part in parts:
        return parts[opts.part]
    return u""

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
RbST-0.6.5 lib/rst2parts/transform.py