Mercurial > mozilla > hg > DocumentIt
view document_it.py @ 4:550f4b240e20
make almost look like what we want to do
author | Jeff Hammel <jhammel@mozilla.com> |
---|---|
date | Mon, 01 Aug 2011 18:31:27 -0700 |
parents | 58befca0eb17 |
children | 3464eda1af80 |
line wrap: on
line source
#!/usr/bin/env python """ update MDN documentation see: http://developer.mindtouch.com/en/ref/MindTouch_API/POST%3Apages%2F%2F%7Bpageid%7D%2F%2Fcontents The manifest format is in the form: mozrunner/README.txt https://developer.mozilla.org/en/Mozrunner jsbridge/README.txt https://developer.mozilla.org/en/JSbridge mozmill/README.txt https://developer.mozilla.org/en/Mozmill mozmill/docs/ https://developer.mozilla.org/en/Mozmill/ """ import os import sys import urllib2 from optparse import OptionParser # necessary imports try: import markdown except ImportError: raise ImportError("markdown is not installed, run (e.g.):\neasy_install Markdown") #DEST='http://developer.mozilla.org/' DEST='https://developer-stage9.mozilla.org/' DIR=os.path.dirname(os.path.abspath(__file__)) README=['README.md', 'README.txt', 'README'] def find_readme(directory): """find a README file in a directory""" # XXX currently unused for name in README: path = os.path.join(directory, name) if os.path.exists(path): return path def parse_manifest(filename, directory=None): """ reads a documentation manifest; returns a list of two-tuples: [ """ assert os.path.exists(filename) and os.path.isfile(filename) if directory is None: directory = os.path.dirname(os.path.abspath(filename)) lines = [line.strip() for file(filename).readlines()] lines = [line for line in lines if line and not line.startswith('#')] items = [] for line in lines: try: f, url = line.split() # TODO: include options as third segment (e.g. format=ReST) except ValueError: raise ValueError("illegal manifest line: '%s'" % line) filename = os.path.join(directory, f) if os.path.isdir(filename): pass # TODO else: items.append((filename, url)) return items def main(args=sys.argv[1:]): # parse command line options usage = '%prog [options] manifest <manifest> <...>' parser = OptionParser(usage=usage, description=__doc__) parser.add_option('-d', '--directory', dest='directory', help='render the documentation to this directory') parser.add_option('--dest', dest='dest', default=DEST, help='base URL of destination') parser.add_option('-u', '--user', dest='user', help='user name') parser.add_option('--list', dest='list', action='store_true', help="list packages") options, manifests = parser.parse_args(args) if not args: parser.print_usage() parser.exit() # run setup_development.py in this directory # to ensure documentation is up to date # TODO; as yet unneeded # render and upload READMEs # TODO if __name__ == '__main__': main()