Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(203)

Unified Diff: tools/telemetry/telemetry/page/page_set_archive_info.py

Issue 169873002: Telemetry: Look for a page's display name when replaying it. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Check for URL if display_name not found. Created 6 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | tools/telemetry/telemetry/page/page_set_archive_info_unittest.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tools/telemetry/telemetry/page/page_set_archive_info.py
diff --git a/tools/telemetry/telemetry/page/page_set_archive_info.py b/tools/telemetry/telemetry/page/page_set_archive_info.py
index aada2a8c8c5942138bfe0cbd05fe6bb12e298695..0a03efee409e43c9abb95961cad3330cf01ba4fa 100644
--- a/tools/telemetry/telemetry/page/page_set_archive_info.py
+++ b/tools/telemetry/telemetry/page/page_set_archive_info.py
@@ -34,17 +34,17 @@ class PageSetArchiveInfo(object):
archive_path)
# Map from the relative path (as it appears in the metadata file) of the
- # .wpr file to a list of urls it supports.
- self._wpr_file_to_urls = data['archives']
+ # .wpr file to a list of page names it supports.
+ self._wpr_file_to_page_names = data['archives']
- # Map from the page url to a relative path (as it appears in the metadata
+ # Map from the page name to a relative path (as it appears in the metadata
# file) of the .wpr file.
- self._url_to_wpr_file = dict()
+ self._page_name_to_wpr_file = dict()
# Find out the wpr file names for each page.
for wpr_file in data['archives']:
- page_urls = data['archives'][wpr_file]
- for url in page_urls:
- self._url_to_wpr_file[url] = wpr_file
+ page_names = data['archives'][wpr_file]
+ for page_name in page_names:
+ self._page_name_to_wpr_file[page_name] = wpr_file
self.temp_target_wpr_file_path = None
@classmethod
@@ -58,7 +58,11 @@ class PageSetArchiveInfo(object):
def WprFilePathForPage(self, page):
if self.temp_target_wpr_file_path:
return self.temp_target_wpr_file_path
- wpr_file = self._url_to_wpr_file.get(page.url, None)
+ wpr_file = self._page_name_to_wpr_file.get(page.display_name, None)
+ if wpr_file is None:
+ # Some old page sets always use the URL to identify a page rather than the
+ # display_name, so try to look for that.
+ wpr_file = self._page_name_to_wpr_file.get(page.url, None)
if wpr_file:
return self._WprFileNameToPath(wpr_file)
return None
@@ -66,10 +70,10 @@ class PageSetArchiveInfo(object):
def AddNewTemporaryRecording(self, temp_target_wpr_file_path):
self.temp_target_wpr_file_path = temp_target_wpr_file_path
- def AddRecordedPages(self, urls):
+ def AddRecordedPages(self, page_names):
(target_wpr_file, target_wpr_file_path) = self._NextWprFileName()
- for url in urls:
- self._SetWprFileForPage(url, target_wpr_file)
+ for page_name in page_names:
+ self._SetWprFileForPage(page_name, target_wpr_file)
shutil.move(self.temp_target_wpr_file_path, target_wpr_file_path)
# Update the hash file.
@@ -81,11 +85,11 @@ class PageSetArchiveInfo(object):
self._DeleteAbandonedWprFiles()
def _DeleteAbandonedWprFiles(self):
- # Update the metadata so that the abandoned wpr files don't have empty url
- # arrays.
+ # Update the metadata so that the abandoned wpr files don't have empty page
+ # name arrays.
abandoned_wpr_files = self._AbandonedWprFiles()
for wpr_file in abandoned_wpr_files:
- del self._wpr_file_to_urls[wpr_file]
+ del self._wpr_file_to_page_names[wpr_file]
# Don't fail if we're unable to delete some of the files.
wpr_file_path = self._WprFileNameToPath(wpr_file)
try:
@@ -95,8 +99,8 @@ class PageSetArchiveInfo(object):
def _AbandonedWprFiles(self):
abandoned_wpr_files = []
- for wpr_file, urls in self._wpr_file_to_urls.iteritems():
- if not urls:
+ for wpr_file, page_names in self._wpr_file_to_page_names.iteritems():
+ if not page_names:
abandoned_wpr_files.append(wpr_file)
return abandoned_wpr_files
@@ -106,7 +110,7 @@ class PageSetArchiveInfo(object):
metadata['description'] = (
'Describes the Web Page Replay archives for a page set. Don\'t edit by '
'hand! Use record_wpr for updating.')
- metadata['archives'] = self._wpr_file_to_urls.copy()
+ metadata['archives'] = self._wpr_file_to_page_names.copy()
# Don't write data for abandoned archives.
abandoned_wpr_files = self._AbandonedWprFiles()
for wpr_file in abandoned_wpr_files:
@@ -124,7 +128,7 @@ class PageSetArchiveInfo(object):
# The names are of the format "some_thing_number.wpr". Read the numbers.
highest_number = -1
base = None
- for wpr_file in self._wpr_file_to_urls:
+ for wpr_file in self._wpr_file_to_page_names:
match = re.match(r'(?P<BASE>.*)_(?P<NUMBER>[0-9]+)\.wpr', wpr_file)
if not match:
raise Exception('Illegal wpr file name ' + wpr_file)
@@ -140,12 +144,12 @@ class PageSetArchiveInfo(object):
new_filename = '%s_%03d.wpr' % (base, highest_number + 1)
return new_filename, self._WprFileNameToPath(new_filename)
- def _SetWprFileForPage(self, url, wpr_file):
+ def _SetWprFileForPage(self, page_name, wpr_file):
"""For modifying the metadata when we're going to record a new archive."""
- old_wpr_file = self._url_to_wpr_file.get(url, None)
+ old_wpr_file = self._page_name_to_wpr_file.get(page_name, None)
if old_wpr_file:
- self._wpr_file_to_urls[old_wpr_file].remove(url)
- self._url_to_wpr_file[url] = wpr_file
- if wpr_file not in self._wpr_file_to_urls:
- self._wpr_file_to_urls[wpr_file] = []
- self._wpr_file_to_urls[wpr_file].append(url)
+ self._wpr_file_to_page_names[old_wpr_file].remove(page_name)
+ self._page_name_to_wpr_file[page_name] = wpr_file
+ if wpr_file not in self._wpr_file_to_page_names:
+ self._wpr_file_to_page_names[wpr_file] = []
+ self._wpr_file_to_page_names[wpr_file].append(page_name)
« no previous file with comments | « no previous file | tools/telemetry/telemetry/page/page_set_archive_info_unittest.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698