| Index: third_party/markdown/__main__.py
|
| diff --git a/third_party/markdown/__main__.py b/third_party/markdown/__main__.py
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..8ee8c8222ead206f5e837062fa3d9f8665edb886
|
| --- /dev/null
|
| +++ b/third_party/markdown/__main__.py
|
| @@ -0,0 +1,87 @@
|
| +"""
|
| +COMMAND-LINE SPECIFIC STUFF
|
| +=============================================================================
|
| +
|
| +"""
|
| +
|
| +import markdown
|
| +import sys
|
| +import optparse
|
| +
|
| +import logging
|
| +from logging import DEBUG, INFO, CRITICAL
|
| +
|
| +logger = logging.getLogger('MARKDOWN')
|
| +
|
| +def parse_options():
|
| + """
|
| + Define and parse `optparse` options for command-line usage.
|
| + """
|
| + usage = """%prog [options] [INPUTFILE]
|
| + (STDIN is assumed if no INPUTFILE is given)"""
|
| + desc = "A Python implementation of John Gruber's Markdown. " \
|
| + "http://packages.python.org/Markdown/"
|
| + ver = "%%prog %s" % markdown.version
|
| +
|
| + parser = optparse.OptionParser(usage=usage, description=desc, version=ver)
|
| + parser.add_option("-f", "--file", dest="filename", default=None,
|
| + help="Write output to OUTPUT_FILE. Defaults to STDOUT.",
|
| + metavar="OUTPUT_FILE")
|
| + parser.add_option("-e", "--encoding", dest="encoding",
|
| + help="Encoding for input and output files.",)
|
| + parser.add_option("-q", "--quiet", default = CRITICAL,
|
| + action="store_const", const=CRITICAL+10, dest="verbose",
|
| + help="Suppress all warnings.")
|
| + parser.add_option("-v", "--verbose",
|
| + action="store_const", const=INFO, dest="verbose",
|
| + help="Print all warnings.")
|
| + parser.add_option("-s", "--safe", dest="safe", default=False,
|
| + metavar="SAFE_MODE",
|
| + help="'replace', 'remove' or 'escape' HTML tags in input")
|
| + parser.add_option("-o", "--output_format", dest="output_format",
|
| + default='xhtml1', metavar="OUTPUT_FORMAT",
|
| + help="'xhtml1' (default), 'html4' or 'html5'.")
|
| + parser.add_option("--noisy",
|
| + action="store_const", const=DEBUG, dest="verbose",
|
| + help="Print debug messages.")
|
| + parser.add_option("-x", "--extension", action="append", dest="extensions",
|
| + help = "Load extension EXTENSION.", metavar="EXTENSION")
|
| + parser.add_option("-n", "--no_lazy_ol", dest="lazy_ol",
|
| + action='store_false', default=True,
|
| + help="Observe number of first item of ordered lists.")
|
| +
|
| + (options, args) = parser.parse_args()
|
| +
|
| + if len(args) == 0:
|
| + input_file = None
|
| + else:
|
| + input_file = args[0]
|
| +
|
| + if not options.extensions:
|
| + options.extensions = []
|
| +
|
| + return {'input': input_file,
|
| + 'output': options.filename,
|
| + 'safe_mode': options.safe,
|
| + 'extensions': options.extensions,
|
| + 'encoding': options.encoding,
|
| + 'output_format': options.output_format,
|
| + 'lazy_ol': options.lazy_ol}, options.verbose
|
| +
|
| +def run():
|
| + """Run Markdown from the command line."""
|
| +
|
| + # Parse options and adjust logging level if necessary
|
| + options, logging_level = parse_options()
|
| + if not options: sys.exit(2)
|
| + logger.setLevel(logging_level)
|
| + logger.addHandler(logging.StreamHandler())
|
| +
|
| + # Run
|
| + markdown.markdownFromFile(**options)
|
| +
|
| +if __name__ == '__main__':
|
| + # Support running module as a commandline command.
|
| + # Python 2.5 & 2.6 do: `python -m markdown.__main__ [options] [args]`.
|
| + # Python 2.7 & 3.x do: `python -m markdown [options] [args]`.
|
| + run()
|
|
|