| Index: tools/telemetry/telemetry/discover.py
|
| diff --git a/tools/telemetry/telemetry/discover.py b/tools/telemetry/telemetry/discover.py
|
| deleted file mode 100644
|
| index a2a85dd2776ee9eefd5ae60b90af47cf3807af6b..0000000000000000000000000000000000000000
|
| --- a/tools/telemetry/telemetry/discover.py
|
| +++ /dev/null
|
| @@ -1,44 +0,0 @@
|
| -# Copyright (c) 2012 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 inspect
|
| -import logging
|
| -import os
|
| -import traceback
|
| -
|
| -def Discover(start_dir, suffix, clazz, import_error_should_raise=False):
|
| - """Discover all classes in |start_dir| which subclass |clazz|.
|
| -
|
| - Args:
|
| - start_dir: The directory to recursively search.
|
| - suffix: file name suffix for files to import, without the '.py' ending.
|
| - clazz: The base class to search for.
|
| - import_error_should_raise: If false, then import errors are logged but do
|
| - not stop discovery.
|
| -
|
| - Returns:
|
| - dict of {module_name: class}.
|
| - """
|
| - top_level_dir = os.path.join(start_dir, '..')
|
| - classes = {}
|
| - for dirpath, _, filenames in os.walk(start_dir):
|
| - for filename in filenames:
|
| - if not filename.endswith(suffix + '.py'):
|
| - continue
|
| - name, _ = os.path.splitext(filename)
|
| - relpath = os.path.relpath(dirpath, top_level_dir)
|
| - fqn = relpath.replace('/', '.') + '.' + name
|
| - try:
|
| - module = __import__(fqn, fromlist=[True])
|
| - except Exception:
|
| - if import_error_should_raise:
|
| - raise
|
| - logging.error('While importing [%s]\n' % fqn)
|
| - traceback.print_exc()
|
| - continue
|
| - for name, obj in inspect.getmembers(module):
|
| - if inspect.isclass(obj):
|
| - if clazz in inspect.getmro(obj):
|
| - name = module.__name__.split('.')[-1]
|
| - classes[name] = obj
|
| - return classes
|
|
|