| Index: tools/telemetry/telemetry/page_set_archive_info.py | 
| diff --git a/tools/telemetry/telemetry/page_set_archive_info.py b/tools/telemetry/telemetry/page_set_archive_info.py | 
| deleted file mode 100644 | 
| index 8a4842a4eee8f1b619279bc8092664409a1351a7..0000000000000000000000000000000000000000 | 
| --- a/tools/telemetry/telemetry/page_set_archive_info.py | 
| +++ /dev/null | 
| @@ -1,129 +0,0 @@ | 
| -# Copyright (c) 2013 The Chromium Authors. All rights reserved. | 
| -# Use of this source code is governed by a BSD-style license that can be | 
| -# found in the LICENSE file. | 
| -import json | 
| -import logging | 
| -import os | 
| -import re | 
| -import shutil | 
| - | 
| -class PageSetArchiveInfo(object): | 
| -  def __init__(self, archive_data_file_path, page_set_file_path, data): | 
| -    self._archive_data_file_path = archive_data_file_path | 
| -    self._archive_data_file_dir = os.path.dirname(archive_data_file_path) | 
| -    # Back pointer to the page set file. | 
| -    self._page_set_file_path = page_set_file_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'] | 
| - | 
| -    # Map from the page url to a relative path (as it appears in the metadata | 
| -    # file) of the .wpr file. | 
| -    self._url_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 | 
| -    self.temp_target_wpr_file_path = None | 
| - | 
| -  @classmethod | 
| -  def FromFile(cls, file_path, page_set_file_path): | 
| -    if os.path.exists(file_path): | 
| -      with open(file_path, 'r') as f: | 
| -        data = json.load(f) | 
| -        return cls(file_path, page_set_file_path, data) | 
| -    return cls(file_path, page_set_file_path, {'archives': {}}) | 
| - | 
| -  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) | 
| -    if wpr_file: | 
| -      return self._WprFileNameToPath(wpr_file) | 
| -    return None | 
| - | 
| -  def AddNewTemporaryRecording(self, temp_target_wpr_file_path): | 
| -    self.temp_target_wpr_file_path = temp_target_wpr_file_path | 
| - | 
| -  def AddRecordedPages(self, pages): | 
| -    (target_wpr_file, target_wpr_file_path) = self._NextWprFileName() | 
| -    for page in pages: | 
| -      self._SetWprFileForPage(page, target_wpr_file) | 
| -    shutil.move(self.temp_target_wpr_file_path, target_wpr_file_path) | 
| -    self._WriteToFile() | 
| -    self._DeleteAbandonedWprFiles() | 
| - | 
| -  def _DeleteAbandonedWprFiles(self): | 
| -    # Update the metadata so that the abandoned wpr files don't have empty url | 
| -    # arrays. | 
| -    abandoned_wpr_files = self._AbandonedWprFiles() | 
| -    for wpr_file in abandoned_wpr_files: | 
| -      del self._wpr_file_to_urls[wpr_file] | 
| -      # Don't fail if we're unable to delete some of the files. | 
| -      wpr_file_path = self._WprFileNameToPath(wpr_file) | 
| -      try: | 
| -        os.remove(wpr_file_path) | 
| -      except Exception: | 
| -        logging.warning('Failed to delete file: %s' % wpr_file_path) | 
| - | 
| -  def _AbandonedWprFiles(self): | 
| -    abandoned_wpr_files = [] | 
| -    for wpr_file, urls in self._wpr_file_to_urls.iteritems(): | 
| -      if not urls: | 
| -        abandoned_wpr_files.append(wpr_file) | 
| -    return abandoned_wpr_files | 
| - | 
| -  def _WriteToFile(self): | 
| -    """Writes the metadata into the file passed as constructor parameter.""" | 
| -    metadata = dict() | 
| -    metadata['description'] = ( | 
| -        'Describes the Web Page Replay archives for a page set. Don\'t edit by ' | 
| -        'hand! Use record_wpr for updating.') | 
| -    # Pointer from the metadata to the page set .json file. | 
| -    metadata['page_set'] = os.path.relpath(self._page_set_file_path, | 
| -                                           self._archive_data_file_dir) | 
| -    metadata['archives'] = self._wpr_file_to_urls.copy() | 
| -    # Don't write data for abandones archives. | 
| -    abandoned_wpr_files = self._AbandonedWprFiles() | 
| -    for wpr_file in abandoned_wpr_files: | 
| -      del metadata['archives'][wpr_file] | 
| - | 
| -    with open(self._archive_data_file_path, 'w') as f: | 
| -      json.dump(metadata, f, indent=4) | 
| -      f.flush() | 
| - | 
| -  def _WprFileNameToPath(self, wpr_file): | 
| -    return os.path.abspath(os.path.join(self._archive_data_file_dir, wpr_file)) | 
| - | 
| -  def _NextWprFileName(self): | 
| -    """Creates a new file name for a wpr archive file.""" | 
| -    # 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: | 
| -      match = re.match(r'(?P<BASE>.*)_(?P<NUMBER>[0-9]+)\.wpr', wpr_file) | 
| -      if not match: | 
| -        raise Exception('Illegal wpr file name ' + wpr_file) | 
| -      highest_number = max(int(match.groupdict()['NUMBER']), highest_number) | 
| -      if base and match.groupdict()['BASE'] != base: | 
| -        raise Exception('Illegal wpr file name ' + wpr_file + | 
| -                        ', doesn\'t begin with ' + base) | 
| -      base = match.groupdict()['BASE'] | 
| -    if not base: | 
| -      # If we're creating a completely new info file, use the base name of the | 
| -      # page set file. | 
| -      base = os.path.splitext(os.path.basename(self._page_set_file_path))[0] | 
| -    new_filename = '%s_%03d.wpr' % (base, highest_number + 1) | 
| -    return new_filename, self._WprFileNameToPath(new_filename) | 
| - | 
| -  def _SetWprFileForPage(self, page, wpr_file): | 
| -    """For modifying the metadata when we're going to record a new archive.""" | 
| -    old_wpr_file = self._url_to_wpr_file.get(page.url, None) | 
| -    if old_wpr_file: | 
| -      self._wpr_file_to_urls[old_wpr_file].remove(page.url) | 
| -    self._url_to_wpr_file[page.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(page.url) | 
|  |