| OLD | NEW |
| 1 # Copyright 2014 The Chromium Authors. All rights reserved. | 1 # Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
| 3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
| 4 | 4 |
| 5 """Handles generating profiles and transferring them to/from mobile devices.""" | 5 """Handles generating profiles and transferring them to/from mobile devices.""" |
| 6 | 6 |
| 7 import logging | 7 import logging |
| 8 import optparse | 8 import optparse |
| 9 import os | 9 import os |
| 10 import shutil | 10 import shutil |
| 11 import stat | 11 import stat |
| 12 import sys | 12 import sys |
| 13 import tempfile | 13 import tempfile |
| 14 | 14 |
| 15 from profile_creators import profile_extender | 15 from profile_creators import profile_extender |
| 16 from telemetry.core import browser_options | 16 from telemetry.core import browser_options |
| 17 from telemetry.core import discover | 17 from telemetry.core import discover |
| 18 from telemetry.core import util | 18 from telemetry.core import util |
| 19 from telemetry.user_story import user_story_runner | 19 from telemetry.internal import story_runner |
| 20 | 20 |
| 21 | 21 |
| 22 def _DiscoverProfileExtenderClasses(): | 22 def _DiscoverProfileExtenderClasses(): |
| 23 profile_extenders_dir = os.path.abspath(os.path.join(util.GetBaseDir(), | 23 profile_extenders_dir = os.path.abspath(os.path.join(util.GetBaseDir(), |
| 24 os.pardir, 'perf', 'profile_creators')) | 24 os.pardir, 'perf', 'profile_creators')) |
| 25 base_dir = os.path.abspath(os.path.join(profile_extenders_dir, os.pardir)) | 25 base_dir = os.path.abspath(os.path.join(profile_extenders_dir, os.pardir)) |
| 26 | 26 |
| 27 profile_extenders_unfiltered = discover.DiscoverClasses( | 27 profile_extenders_unfiltered = discover.DiscoverClasses( |
| 28 profile_extenders_dir, base_dir, profile_extender.ProfileExtender) | 28 profile_extenders_dir, base_dir, profile_extender.ProfileExtender) |
| 29 | 29 |
| (...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 87 shutil.rmtree(out_path) | 87 shutil.rmtree(out_path) |
| 88 | 88 |
| 89 shutil.copytree(temp_output_directory, out_path, ignore=_IsPseudoFile) | 89 shutil.copytree(temp_output_directory, out_path, ignore=_IsPseudoFile) |
| 90 shutil.rmtree(temp_output_directory) | 90 shutil.rmtree(temp_output_directory) |
| 91 sys.stderr.write("SUCCESS: Generated profile copied to: '%s'.\n" % out_path) | 91 sys.stderr.write("SUCCESS: Generated profile copied to: '%s'.\n" % out_path) |
| 92 | 92 |
| 93 return 0 | 93 return 0 |
| 94 | 94 |
| 95 | 95 |
| 96 def AddCommandLineArgs(parser): | 96 def AddCommandLineArgs(parser): |
| 97 user_story_runner.AddCommandLineArgs(parser) | 97 story_runner.AddCommandLineArgs(parser) |
| 98 | 98 |
| 99 profile_extenders = _DiscoverProfileExtenderClasses().keys() | 99 profile_extenders = _DiscoverProfileExtenderClasses().keys() |
| 100 legal_profile_creators = '|'.join(profile_extenders) | 100 legal_profile_creators = '|'.join(profile_extenders) |
| 101 group = optparse.OptionGroup(parser, 'Profile generation options') | 101 group = optparse.OptionGroup(parser, 'Profile generation options') |
| 102 group.add_option('--profile-type-to-generate', | 102 group.add_option('--profile-type-to-generate', |
| 103 dest='profile_type_to_generate', | 103 dest='profile_type_to_generate', |
| 104 default=None, | 104 default=None, |
| 105 help='Type of profile to generate. ' | 105 help='Type of profile to generate. ' |
| 106 'Supported values: %s' % legal_profile_creators) | 106 'Supported values: %s' % legal_profile_creators) |
| 107 parser.add_option_group(group) | 107 parser.add_option_group(group) |
| 108 | 108 |
| 109 | 109 |
| 110 def ProcessCommandLineArgs(parser, args): | 110 def ProcessCommandLineArgs(parser, args): |
| 111 user_story_runner.ProcessCommandLineArgs(parser, args) | 111 story_runner.ProcessCommandLineArgs(parser, args) |
| 112 | 112 |
| 113 if not args.profile_type_to_generate: | 113 if not args.profile_type_to_generate: |
| 114 parser.error("Must specify --profile-type-to-generate option.") | 114 parser.error("Must specify --profile-type-to-generate option.") |
| 115 | 115 |
| 116 profile_extenders = _DiscoverProfileExtenderClasses().keys() | 116 profile_extenders = _DiscoverProfileExtenderClasses().keys() |
| 117 if args.profile_type_to_generate not in profile_extenders: | 117 if args.profile_type_to_generate not in profile_extenders: |
| 118 legal_profile_creators = '|'.join(profile_extenders) | 118 legal_profile_creators = '|'.join(profile_extenders) |
| 119 parser.error("Invalid profile type, legal values are: %s." % | 119 parser.error("Invalid profile type, legal values are: %s." % |
| 120 legal_profile_creators) | 120 legal_profile_creators) |
| 121 | 121 |
| (...skipping 13 matching lines...) Expand all Loading... |
| 135 "%%prog <--profile-type-to-generate=...> <--browser=...> <--output-dir>") | 135 "%%prog <--profile-type-to-generate=...> <--browser=...> <--output-dir>") |
| 136 AddCommandLineArgs(parser) | 136 AddCommandLineArgs(parser) |
| 137 _, _ = parser.parse_args() | 137 _, _ = parser.parse_args() |
| 138 ProcessCommandLineArgs(parser, options) | 138 ProcessCommandLineArgs(parser, options) |
| 139 | 139 |
| 140 # Generate profile. | 140 # Generate profile. |
| 141 profile_extenders = _DiscoverProfileExtenderClasses() | 141 profile_extenders = _DiscoverProfileExtenderClasses() |
| 142 profile_extender_class = profile_extenders[options.profile_type_to_generate] | 142 profile_extender_class = profile_extenders[options.profile_type_to_generate] |
| 143 return GenerateProfiles(profile_extender_class, | 143 return GenerateProfiles(profile_extender_class, |
| 144 options.profile_type_to_generate, options) | 144 options.profile_type_to_generate, options) |
| OLD | NEW |