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

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

Issue 1647513002: Delete tools/telemetry. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 11 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
« no previous file with comments | « tools/telemetry/build/linux_setup_msr.py ('k') | tools/telemetry/cloud_storage » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tools/telemetry/build/update_docs.py
diff --git a/tools/telemetry/build/update_docs.py b/tools/telemetry/build/update_docs.py
deleted file mode 100644
index 7f43b58e036104892f1de722a1a7fabb440e941d..0000000000000000000000000000000000000000
--- a/tools/telemetry/build/update_docs.py
+++ /dev/null
@@ -1,148 +0,0 @@
-# Copyright 2013 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 logging
-import optparse
-import os
-import pkgutil
-import pydoc
-import re
-import sys
-
-import telemetry
-from telemetry.core import util
-
-telemetry_dir = util.GetTelemetryDir()
-docs_dir = os.path.join(telemetry_dir, 'docs', 'pydoc')
-
-def RemoveAllDocs():
- for dirname, _, filenames in os.walk(docs_dir):
- for filename in filenames:
- os.remove(os.path.join(dirname, filename))
-
-def GenerateHTMLForModule(module):
- html = pydoc.html.page(pydoc.describe(module),
- pydoc.html.document(module, module.__name__))
-
- # pydoc writes out html with links in a variety of funky ways. We need
- # to fix them up.
- assert not telemetry_dir.endswith(os.sep)
- links = re.findall('(<a href="(.+?)">(.+?)</a>)', html)
- for link_match in links:
- link, href, link_text = link_match
- if not href.startswith('file:'):
- continue
-
- new_href = href.replace('file:', '')
- new_href = new_href.replace(telemetry_dir, '..')
- new_href = new_href.replace(os.sep, '/')
-
- new_link_text = link_text.replace(telemetry_dir + os.sep, '')
-
- new_link = '<a href="%s">%s</a>' % (new_href, new_link_text)
- html = html.replace(link, new_link)
-
- # pydoc writes out html with absolute path file links. This is not suitable
- # for checked in documentation. So, fix up the HTML after it is generated.
- #html = re.sub('href="file:%s' % telemetry_dir, 'href="..', html)
- #html = re.sub(telemetry_dir + os.sep, '', html)
- return html
-
-def WriteHTMLForModule(module):
- page = GenerateHTMLForModule(module)
- path = os.path.join(docs_dir, '%s.html' % module.__name__)
- with open(path, 'w') as f:
- sys.stderr.write('Wrote %s\n' % os.path.relpath(path))
- f.write(page)
-
-def GetAllModulesToDocument(module):
- modules = [module]
- for _, modname, _ in pkgutil.walk_packages(
- module.__path__, module.__name__ + '.'):
- if modname.endswith('_unittest'):
- logging.debug("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
-
- modules.append(module)
- return modules
-
-class AlreadyDocumentedModule(object):
- def __init__(self, filename):
- self.filename = filename
-
- @property
- def name(self):
- basename = os.path.basename(self.filename)
- return os.path.splitext(basename)[0]
-
- @property
- def contents(self):
- with open(self.filename, 'r') as f:
- return f.read()
-
-def GetAlreadyDocumentedModules():
- modules = []
- for dirname, _, filenames in os.walk(docs_dir):
- for filename in filenames:
- path = os.path.join(dirname, filename)
- modules.append(AlreadyDocumentedModule(path))
- return modules
-
-
-def IsUpdateDocsNeeded():
- already_documented_modules = GetAlreadyDocumentedModules()
- already_documented_modules_by_name = dict(
- (module.name, module) for module in already_documented_modules)
- current_modules = GetAllModulesToDocument(telemetry)
-
- # Quick check: if the names of modules has changed, we definitely need
- # an update.
- already_documented_module_names = set(
- m.name for m in already_documented_modules)
-
- current_module_names = set([m.__name__ for m in current_modules])
-
- if current_module_names != already_documented_module_names:
- return True
-
- # Generate the new docs and compare aganist the old. If changed, then a
- # an update is needed.
- for current_module in current_modules:
- already_documented_module = already_documented_modules_by_name[
- current_module.__name__]
- current_html = GenerateHTMLForModule(current_module)
- if current_html != already_documented_module.contents:
- return True
-
- return False
-
-def Main(args):
- parser = optparse.OptionParser()
- parser.add_option(
- '-v', '--verbose', action='count', dest='verbosity',
- help='Increase verbosity level (repeat as needed)')
- options, args = parser.parse_args(args)
- if options.verbosity >= 2:
- logging.getLogger().setLevel(logging.DEBUG)
- elif options.verbosity:
- logging.getLogger().setLevel(logging.INFO)
- else:
- logging.getLogger().setLevel(logging.WARNING)
-
- assert os.path.isdir(docs_dir), '%s does not exist' % docs_dir
-
- RemoveAllDocs()
-
- old_cwd = os.getcwd()
- try:
- os.chdir(telemetry_dir)
- for module in GetAllModulesToDocument(telemetry):
- WriteHTMLForModule(module)
- finally:
- os.chdir(old_cwd)
« no previous file with comments | « tools/telemetry/build/linux_setup_msr.py ('k') | tools/telemetry/cloud_storage » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698