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