doc/runrst
author Wagner Bruna <wbruna@softwareexpress.com.br>
Mon, 17 Oct 2011 11:54:12 -0200
branchstable
changeset 15290 e40430fb787b
parent 11707 13d79a7bf5b7
child 15314 1ae824142c01
permissions -rwxr-xr-x
i18n: import polib 0.6.4 (rev 84598f2b5365) This version fixes some upstream issues observed during the pt_BR translation update: #8 (obsolete entries reappearing); an unidentified issue that made i18n/posplit produce some spurious messages on the resulting po file; possibly others. These bugs probably didn't cause actual differences on the translated output, since an invalid message added to the .mo file wouldn't match an input message most of the time. But they do pollute the .po file contents (and diffs), adding some confusion to the translation process. db957a72fbd7, 4c50552fc9bc and 8ea51e9e7031 were included upstream, so the only remaining difference is the "no-check-code" marking.

#!/usr/bin/env python
#
# runrst - register custom roles and run correct writer
#
# Copyright 2010 Matt Mackall <mpm@selenic.com> and others
#
# This software may be used and distributed according to the terms of the
# GNU General Public License version 2 or any later version.

"""usage: %s WRITER args...

where WRITER is the name of a Docutils writer such as 'html' or 'manpage'
"""

import sys
try:
    from docutils.parsers.rst import roles
    from docutils.core import publish_cmdline
    from docutils import nodes, utils
except ImportError:
    sys.stderr.write("abort: couldn't generate documentation: docutils "
                     "module is missing\n")
    sys.exit(-1)

def role_hg(name, rawtext, text, lineno, inliner,
            options={}, content=[]):
    text = "hg " + utils.unescape(text)
    linktext = nodes.literal(rawtext, text)
    parts = text.split()
    cmd, args = parts[1], parts[2:]
    if cmd == 'help' and args:
        cmd = args[0] # link to 'dates' for 'hg help dates'
    node = nodes.reference(rawtext, '', linktext,
                           refuri="hg.1.html#%s" % cmd)
    return [node], []

roles.register_local_role("hg", role_hg)

if __name__ == "__main__":
    if len(sys.argv) < 2:
        sys.stderr.write(__doc__ % sys.argv[0])
        sys.exit(1)

    writer = sys.argv[1]
    del sys.argv[1]

    publish_cmdline(writer_name=writer)