From: Fred Drake Date: Thu, 22 Apr 1999 13:08:09 +0000 (+0000) Subject: Script to locate uses of \module where the module referred to is not X-Git-Tag: v1.6a1~1534 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=693a2c65812eb61a87cacf1a23b83db35bbf9552;p=thirdparty%2FPython%2Fcpython.git Script to locate uses of \module where the module referred to is not the module being documented at that point in the documentation; these are candidates for conversion to \refmodule, which produces a hyperlink in the HTML and PDF versions of the output. --- diff --git a/Doc/tools/findmodrefs b/Doc/tools/findmodrefs new file mode 100755 index 000000000000..c0556863f24d --- /dev/null +++ b/Doc/tools/findmodrefs @@ -0,0 +1,45 @@ +#! /usr/bin/env python +# -*- Python -*- + +import fileinput +import glob +import os +import re +import sys + + +declare_rx = re.compile( + r"\\declaremodule(?:\[[a-zA-Z0-9]*\]*)?{[a-zA-Z_0-9]+}{([a-zA-Z_0-9]+)}") + +module_rx = re.compile(r"\\module{([a-zA-Z_0-9]+)}") + +def main(): + try: + files = sys.argv[1:] + if not files: + files = glob.glob("*.tex") + files.sort() + modulename = None + for line in fileinput.input(files): + if line[:9] == r"\section{": + modulename = None + continue + if line[:16] == r"\modulesynopsys{": + continue + m = declare_rx.match(line) + if m: + modulename = m.group(1) + continue + if not modulename: + continue + m = module_rx.search(line) + if m: + name = m.group(1) + if name != modulename: + print "%s:%s" % (fileinput.filename(), line[:-1]) + except KeyboardInterrupt: + sys.exit(1) + + +if __name__ == "__main__": + main()