Index: tools/telemetry/telemetry/record_wpr.py |
diff --git a/tools/telemetry/telemetry/record_wpr.py b/tools/telemetry/telemetry/record_wpr.py |
index 12ea3d18f8623b65e0d4c1aeefe90a4aee9f6a8b..16cd609be6e79675f06f37ba31a5dbabf5e9db73 100644 |
--- a/tools/telemetry/telemetry/record_wpr.py |
+++ b/tools/telemetry/telemetry/record_wpr.py |
@@ -8,12 +8,12 @@ import sys |
from telemetry import benchmark |
from telemetry import story |
-from telemetry.core import discover |
from telemetry.core import util |
from telemetry.internal.browser import browser_options |
from telemetry.internal.results import results_options |
from telemetry.internal import story_runner |
from telemetry.page import page_test |
+from telemetry.util import classes_util |
from telemetry.util import wpr_modes |
@@ -60,30 +60,17 @@ class RecorderPageTest(page_test.PageTest): |
else: |
super(RecorderPageTest, self).RunNavigateSteps(page, tab) |
- |
-def _GetSubclasses(base_dir, cls): |
- """ Return all subclasses of |cls| in |base_dir|. |
- Args: |
- cls: a class |
- Returns: |
- |
- """ |
- return discover.DiscoverClasses(base_dir, base_dir, cls, |
- index_by_class_name=True) |
- |
- |
def _MaybeGetInstanceOfClass(target, base_dir, cls): |
if isinstance(target, cls): |
return target |
- classes = _GetSubclasses(base_dir, cls) |
- return classes[target]() if target in classes else None |
- |
+ return classes_util.MaybeGetInstanceOfClass(target, base_dir, base_dir, cls) |
def _PrintAllBenchmarks(base_dir, output_stream): |
# TODO: reuse the logic of finding supported benchmarks in benchmark_runner.py |
# so this only prints out benchmarks that are supported by the recording |
# platform. |
- classes = _GetSubclasses(base_dir, benchmark.Benchmark) |
+ classes = classes_util.DiscoverClassesByClassName( |
+ base_dir, base_dir, benchmark.Benchmark) |
output_stream.write('Available benchmarks\' names:\n\n') |
for k in classes: |
output_stream.write('%s\n' % k) |
@@ -93,7 +80,8 @@ def _PrintAllUserStories(base_dir, output_stream): |
output_stream.write('Available page sets\' names:\n\n') |
# TODO: actually print all stories once record_wpr support general |
# stories recording. |
- classes = _GetSubclasses(base_dir, story.StorySet) |
+ classes = classes_util.DiscoverClassesByClassName( |
+ base_dir, base_dir, story.StorySet) |
for k in classes: |
output_stream.write('%s\n' % k) |
@@ -104,8 +92,8 @@ class WprRecorder(object): |
self._record_page_test = RecorderPageTest() |
self._options = self._CreateOptions() |
- self._benchmark = _MaybeGetInstanceOfClass(target, base_dir, |
- benchmark.Benchmark) |
+ self._benchmark = _MaybeGetInstanceOfClass( |
+ target, base_dir, benchmark.Benchmark) |
self._parser = self._options.CreateParser(usage='See %prog --help') |
self._AddCommandLineArgs() |
self._ParseArgs(args) |