| 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..052706c048bc5d943fde60c0031c8846db5c5d90
|
| --- /dev/null
|
| +++ b/third_party/markdown/__main__.py
|
| @@ -0,0 +1,119 @@
|
| +# markdown is released under the BSD license
|
| +# Copyright 2007, 2008 The Python Markdown Project (v. 1.7 and later)
|
| +# Copyright 2004, 2005, 2006 Yuri Takhteyev (v. 0.2-1.6b)
|
| +# Copyright 2004 Manfred Stienstra (the original version)
|
| +#
|
| +# All rights reserved.
|
| +#
|
| +# Redistribution and use in source and binary forms, with or without
|
| +# modification, are permitted provided that the following conditions are met:
|
| +#
|
| +# * Redistributions of source code must retain the above copyright
|
| +# notice, this list of conditions and the following disclaimer.
|
| +# * Redistributions in binary form must reproduce the above copyright
|
| +# notice, this list of conditions and the following disclaimer in the
|
| +# documentation and/or other materials provided with the distribution.
|
| +# * Neither the name of the <organization> nor the
|
| +# names of its contributors may be used to endorse or promote products
|
| +# derived from this software without specific prior written permission.
|
| +#
|
| +# THIS SOFTWARE IS PROVIDED BY THE PYTHON MARKDOWN PROJECT ''AS IS'' AND ANY
|
| +# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
| +# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
| +# DISCLAIMED. IN NO EVENT SHALL ANY CONTRIBUTORS TO THE PYTHON MARKDOWN PROJECT
|
| +# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
| +# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
| +# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
| +# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
| +# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
| +# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
| +# POSSIBILITY OF SUCH DAMAGE.
|
| +
|
| +
|
| +"""
|
| +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()
|
|
|