| Index: chrome/test/pyautolib/generate_docs.py
|
| ===================================================================
|
| --- chrome/test/pyautolib/generate_docs.py (revision 0)
|
| +++ chrome/test/pyautolib/generate_docs.py (revision 0)
|
| @@ -0,0 +1,57 @@
|
| +#!/usr/bin/python
|
| +# Copyright (c) 2011 The Chromium Authors. All rights reserved.
|
| +# Use of this source code is governed by a BSD-style license that can be
|
| +# found in the LICENSE file.
|
| +
|
| +import optparse
|
| +import os
|
| +import pydoc
|
| +import shutil
|
| +import sys
|
| +
|
| +
|
| +def main():
|
| + parser = optparse.OptionParser()
|
| + parser.add_option('-w', '--write', dest='dir', metavar='FILE',
|
| + default=os.path.join(os.getcwd(), 'pyauto_docs'),
|
| + help=('Directory path to write all of the documentation. '
|
| + 'Defaults to "pyauto_docs" in current directory.'))
|
| + parser.add_option('-p', '--pyautolib', dest='pyautolib', metavar='FILE',
|
| + default=os.getcwd(),
|
| + help='Location of pyautolib directory')
|
| + (options, args) = parser.parse_args()
|
| +
|
| + if not os.path.isdir(options.dir):
|
| + os.makedirs(options.dir)
|
| +
|
| + # Add these paths so pydoc can find everything
|
| + sys.path.append(os.path.join(options.pyautolib,
|
| + '../../../third_party/'))
|
| + sys.path.append(options.pyautolib)
|
| +
|
| + # Get a snapshot of the current directory where pydoc will export the files
|
| + previous_contents = set(os.listdir(os.getcwd()))
|
| + pydoc.writedocs(options.pyautolib)
|
| + current_contents = set(os.listdir(os.getcwd()))
|
| +
|
| + if options.dir == os.getcwd():
|
| + print 'Export complete, files are located in %s' % options.dir
|
| + return
|
| +
|
| + new_files = current_contents.difference(previous_contents)
|
| + for file_name in new_files:
|
| + basename, extension = os.path.splitext(file_name)
|
| + if extension == '.html':
|
| + # Build the complete path
|
| + full_path = os.path.join(os.getcwd(), file_name)
|
| + existing_file_path = os.path.join(options.dir, file_name)
|
| + if os.path.isfile(existing_file_path):
|
| + os.remove(existing_file_path)
|
| + shutil.move(full_path, options.dir)
|
| +
|
| + print 'Export complete, files are located in %s' % options.dir
|
| +
|
| +
|
| +if __name__ == '__main__':
|
| + main()
|
| +
|
|
|