Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(41)

Unified Diff: tools/telemetry/build/update_docs.py

Issue 17150002: [telemetry] Initial (autogenerated) documentation plus support scripts (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: tools/telemetry/build/update_docs.py
diff --git a/tools/telemetry/build/update_docs.py b/tools/telemetry/build/update_docs.py
new file mode 100644
index 0000000000000000000000000000000000000000..43a70d6cf3679af596b5c9eb8191637766c9c536
--- /dev/null
+++ b/tools/telemetry/build/update_docs.py
@@ -0,0 +1,66 @@
+# Copyright (c) 2012 The Chromium Authors. All rights reserved.
tonyg 2013/06/18 16:09:11 nit: 2013
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+import logging
+import optparse
+import os
+import sys
tonyg 2013/06/18 16:09:11 nit: alphabetize
+import pkgutil
+import pydoc
+
+def UnlinkAllDocs(docs_dir):
tonyg 2013/06/18 16:09:11 Can we name this RemoveAllDocs and call os.remove
+ for dirname, _, filenames in os.walk(docs_dir):
+ for filename in filenames:
+ os.unlink(os.path.join(dirname, filename))
+
+def WriteDocsFor(module):
+ pydoc.writedoc(module)
+ for _, modname, _ in pkgutil.walk_packages(
+ module.__path__, module.__name__ + '.'):
+ if modname.endswith('_unittest'):
+ logging.info("skipping %s due to being a unittest", modname)
+ continue
+
+ module = __import__(modname, fromlist=[""])
+ name, _ = os.path.splitext(module.__file__)
+ if not os.path.exists(name + '.py'):
+ logging.info("skipping %s due to being an orphan .pyc", module.__file__)
+ continue
+
+ pydoc.writedoc(module)
+
+def Main(args):
+ parser = optparse.OptionParser()
+ parser.add_option(
+ '-v', '--verbose', action='count', default=0,
+ help='Increase verbosity level (repeat as needed)')
+ options, args = parser.parse_args(args)
+ if options.verbose >= 2:
+ logging.basicConfig(level=logging.DEBUG)
+ elif options.verbose:
+ logging.basicConfig(level=logging.INFO)
+ else:
+ logging.basicConfig(level=logging.WARNING)
+
+ toplevel_dir = os.path.abspath(
+ os.path.join(
+ os.path.dirname(__file__), '..'))
tonyg 2013/06/18 16:09:11 util.GetTelemetryDir() ?
+ docs_dir = os.path.join(toplevel_dir, 'docs')
+
+ assert os.path.isdir(docs_dir)
+ assert os.path.exists(
+ os.path.join(toplevel_dir,
+ 'telemetry', '__init__.py'))
+
+ UnlinkAllDocs(docs_dir)
+
+ if toplevel_dir not in sys.path:
+ sys.path.append(toplevel_dir)
+ import telemetry
+
+ old_cwd = os.getcwd()
+ try:
+ os.chdir(docs_dir)
+ WriteDocsFor(telemetry)
+ finally:
+ os.chdir(old_cwd)

Powered by Google App Engine
This is Rietveld 408576698