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) |