Chromium Code Reviews| Index: tools/resource_prefetch_predictor/generate_database.py |
| diff --git a/tools/resource_prefetch_predictor/generate_database.py b/tools/resource_prefetch_predictor/generate_database.py |
| index 9c3aa677e610f9e2bf81b41d5bae0ca83fbbae6f..5d12cffb260ed4e118d410e3b583830c00f59e19 100755 |
| --- a/tools/resource_prefetch_predictor/generate_database.py |
| +++ b/tools/resource_prefetch_predictor/generate_database.py |
| @@ -13,6 +13,8 @@ import logging |
| import os |
| import sys |
| +import prefetch_predictor_common |
| + |
| _SRC_PATH = os.path.abspath(os.path.join( |
| os.path.dirname(__file__), os.pardir, os.pardir)) |
| @@ -24,10 +26,11 @@ sys.path.append(os.path.join(_SRC_PATH, 'build', 'android')) |
| import devil_chromium |
| sys.path.append(os.path.join(_SRC_PATH, 'tools', 'android', 'loading')) |
| -import controller |
| from options import OPTIONS |
| import page_track |
| +import prefetch_predictor_common |
|
pasko
2016/11/30 12:53:46
why importing twice?
Benoit L
2016/11/30 15:25:50
...
Sorry about that.
Done.
|
| + |
| _PAGE_LOAD_TIMEOUT = 20 |
| @@ -35,9 +38,8 @@ _PAGE_LOAD_TIMEOUT = 20 |
| def _CreateArgumentParser(): |
| """Creates and returns the argument parser.""" |
| parser = argparse.ArgumentParser( |
| - description=('Loads a set of web pages several times on a device, and ' |
| - 'extracts the predictor database.'), |
| - parents=[OPTIONS.GetParentParser()]) |
| + ('Loads a set of web pages several times on a device, and extracts the ' |
| + 'predictor database.'), parents=[OPTIONS.GetParentParser()]) |
| parser.add_argument('--device', help='Device ID') |
| parser.add_argument('--urls_filename', help='File containing a list of URLs ' |
| '(one per line). URLs can be repeated.') |
| @@ -50,27 +52,6 @@ def _CreateArgumentParser(): |
| return parser |
| -def _FindDevice(device_id): |
| - """Returns a device matching |device_id| or the first one if None, or None.""" |
| - devices = device_utils.DeviceUtils.HealthyDevices() |
| - if device_id is None: |
| - return devices[0] |
| - matching_devices = [d for d in devices if str(d) == device_id] |
| - if not matching_devices: |
| - return None |
| - return matching_devices[0] |
| - |
| - |
| -def _Setup(device): |
| - """Sets up a device and returns an instance of RemoteChromeController.""" |
| - chrome_controller = controller.RemoteChromeController(device) |
| - device.ForceStop(OPTIONS.ChromePackage().package) |
| - chrome_controller.AddChromeArguments( |
| - ['--speculative-resource-prefetching=learning']) |
| - chrome_controller.ResetBrowserState() |
| - return chrome_controller |
| - |
| - |
| def _Go(chrome_controller, urls_filename, output_filename, repeats): |
| urls = [] |
| with open(urls_filename) as f: |
| @@ -87,23 +68,25 @@ def _Go(chrome_controller, urls_filename, output_filename, repeats): |
| device = chrome_controller.GetDevice() |
| device.ForceStop(OPTIONS.ChromePackage().package) |
| - database_filename = ( |
| - '/data/user/0/%s/app_chrome/Default/Network Action Predictor' % |
| - OPTIONS.ChromePackage().package) |
| - device.PullFile(database_filename, output_filename) |
| + device.PullFile(prefetch_predictor_common.DatabaseDevicePath(), |
| + output_filename) |
| def main(): |
| + devil_chromium.Initialize() |
| logging.basicConfig(level=logging.INFO) |
| + |
| parser = _CreateArgumentParser() |
| args = parser.parse_args() |
| OPTIONS.SetParsedArgs(args) |
| - devil_chromium.Initialize() |
| - device = _FindDevice(args.device) |
| + |
| + device = prefetch_predictor_common.FindDevice(args.device) |
| if device is None: |
| logging.error('Could not find device: %s.', args.device) |
| sys.exit(1) |
| - chrome_controller = _Setup(device) |
| + |
| + chrome_controller = prefetch_predictor_common.Setup( |
| + device, ['--speculative-resource-prefetching=learning']) |
| _Go(chrome_controller, args.urls_filename, args.output_filename, |
| int(args.url_repeat)) |