| OLD | NEW |
| 1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
| 2 # Copyright (c) 2012 The Chromium Authors. All rights reserved. | 2 # Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 3 # Use of this source code is governed by a BSD-style license that can be | 3 # Use of this source code is governed by a BSD-style license that can be |
| 4 # found in the LICENSE file. | 4 # found in the LICENSE file. |
| 5 | 5 |
| 6 """Archives or replays webpages and creates SKPs in a Google Storage location. | 6 """Archives or replays webpages and creates SKPs in a Google Storage location. |
| 7 | 7 |
| 8 To archive webpages and store SKP files (archives should be rarely updated): | 8 To archive webpages and store SKP files (archives should be rarely updated): |
| 9 | 9 |
| 10 cd skia | 10 cd skia |
| (...skipping 368 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 379 # skia_yahooanswers_desktop -> skia, yahooanswers, desktop | 379 # skia_yahooanswers_desktop -> skia, yahooanswers, desktop |
| 380 _, page_name, device = ps_basename.split('_') | 380 _, page_name, device = ps_basename.split('_') |
| 381 basename = '%s_%s' % (DEVICE_TO_PLATFORM_PREFIX[device], page_name) | 381 basename = '%s_%s' % (DEVICE_TO_PLATFORM_PREFIX[device], page_name) |
| 382 return basename[:MAX_SKP_BASE_NAME_LEN] + '.skp' | 382 return basename[:MAX_SKP_BASE_NAME_LEN] + '.skp' |
| 383 | 383 |
| 384 def _GetChromiumSkpFileName(self, page_set, site): | 384 def _GetChromiumSkpFileName(self, page_set, site): |
| 385 """Returns the SKP file name for Chromium page sets.""" | 385 """Returns the SKP file name for Chromium page sets.""" |
| 386 # /path/to/http___mobile_news_sandbox_pt0 -> http___mobile_news_sandbox_pt0 | 386 # /path/to/http___mobile_news_sandbox_pt0 -> http___mobile_news_sandbox_pt0 |
| 387 _, webpage = os.path.split(site) | 387 _, webpage = os.path.split(site) |
| 388 # http___mobile_news_sandbox_pt0 -> mobile_news_sandbox_pt0 | 388 # http___mobile_news_sandbox_pt0 -> mobile_news_sandbox_pt0 |
| 389 for prefix in ('http___', 'https___'): | 389 for prefix in ('http___', 'https___', 'www_'): |
| 390 if webpage.startswith(prefix): | 390 if webpage.startswith(prefix): |
| 391 webpage = webpage[len(prefix):] | 391 webpage = webpage[len(prefix):] |
| 392 # /path/to/skia_yahooanswers_desktop.py -> skia_yahooanswers_desktop.py | 392 # /path/to/skia_yahooanswers_desktop.py -> skia_yahooanswers_desktop.py |
| 393 ps_filename = os.path.basename(page_set) | 393 ps_filename = os.path.basename(page_set) |
| 394 # http___mobile_news_sandbox -> pagesetprefix_http___mobile_news_sandbox | 394 # http___mobile_news_sandbox -> pagesetprefix_http___mobile_news_sandbox |
| 395 basename = '%s_%s' % (CHROMIUM_PAGE_SETS_TO_PREFIX[ps_filename], webpage) | 395 basename = '%s_%s' % (CHROMIUM_PAGE_SETS_TO_PREFIX[ps_filename], webpage) |
| 396 return basename[:MAX_SKP_BASE_NAME_LEN] + '.skp' | 396 return basename[:MAX_SKP_BASE_NAME_LEN] + '.skp' |
| 397 | 397 |
| 398 def _RenameSkpFiles(self, page_set): | 398 def _RenameSkpFiles(self, page_set): |
| 399 """Rename generated SKP files into more descriptive names. | 399 """Rename generated SKP files into more descriptive names. |
| 400 | 400 |
| 401 Look into the subdirectory of TMP_SKP_DIR and find the most interesting | 401 Look into the subdirectory of TMP_SKP_DIR and find the most interesting |
| 402 .skp in there to be this page_set's representative .skp. | 402 .skp in there to be this page_set's representative .skp. |
| 403 """ | 403 """ |
| 404 subdirs = glob.glob(os.path.join(TMP_SKP_DIR, '*')) | 404 subdirs = glob.glob(os.path.join(TMP_SKP_DIR, '*')) |
| 405 for site in subdirs: | 405 for site in subdirs: |
| 406 if self._IsChromiumPageSet(page_set): | 406 if self._IsChromiumPageSet(page_set): |
| 407 filename = self._GetChromiumSkpFileName(page_set, site) | 407 filename = self._GetChromiumSkpFileName(page_set, site) |
| 408 else: | 408 else: |
| 409 filename = self._GetSkiaSkpFileName(page_set) | 409 filename = self._GetSkiaSkpFileName(page_set) |
| 410 filename = filename.lower() |
| 410 | 411 |
| 411 # We choose the largest .skp as the most likely to be interesting. | 412 # We choose the largest .skp as the most likely to be interesting. |
| 412 largest_skp = max(glob.glob(os.path.join(site, '*.skp')), | 413 largest_skp = max(glob.glob(os.path.join(site, '*.skp')), |
| 413 key=lambda path: os.stat(path).st_size) | 414 key=lambda path: os.stat(path).st_size) |
| 414 dest = os.path.join(self._local_skp_dir, filename) | 415 dest = os.path.join(self._local_skp_dir, filename) |
| 415 print 'Moving', largest_skp, 'to', dest | 416 print 'Moving', largest_skp, 'to', dest |
| 416 shutil.move(largest_skp, dest) | 417 shutil.move(largest_skp, dest) |
| 417 self._skp_files.append(filename) | 418 self._skp_files.append(filename) |
| 418 shutil.rmtree(site) | 419 shutil.rmtree(site) |
| 419 | 420 |
| (...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 550 default=None) | 551 default=None) |
| 551 option_parser.add_option( | 552 option_parser.add_option( |
| 552 '', '--non-interactive', action='store_true', | 553 '', '--non-interactive', action='store_true', |
| 553 help='Runs the script without any prompts. If this flag is specified and ' | 554 help='Runs the script without any prompts. If this flag is specified and ' |
| 554 '--skia_tools is specified then the debugger is not run.', | 555 '--skia_tools is specified then the debugger is not run.', |
| 555 default=False) | 556 default=False) |
| 556 options, unused_args = option_parser.parse_args() | 557 options, unused_args = option_parser.parse_args() |
| 557 | 558 |
| 558 playback = SkPicturePlayback(options) | 559 playback = SkPicturePlayback(options) |
| 559 sys.exit(playback.Run()) | 560 sys.exit(playback.Run()) |
| OLD | NEW |