Index: tools/telemetry/telemetry/page_set.py |
diff --git a/tools/telemetry/telemetry/page_set.py b/tools/telemetry/telemetry/page_set.py |
index 7c085bb81ffc38b93c65b91809f2cfb72317b616..45ab8a83e33a5d280e44009f5342dd4436ad47ef 100644 |
--- a/tools/telemetry/telemetry/page_set.py |
+++ b/tools/telemetry/telemetry/page_set.py |
@@ -7,12 +7,13 @@ import os |
import urlparse |
from telemetry import page as page_module |
+from telemetry import page_set_archive_info |
class PageSet(object): |
- def __init__(self, base_dir='', attributes=None): |
+ def __init__(self, file_path='', attributes=None): |
self.description = '' |
- self.archive_path = '' |
- self.base_dir = base_dir |
+ self.archive_data_file = '' |
+ self.file_path = file_path |
self.credentials_path = None |
self.user_agent_type = None |
@@ -22,20 +23,27 @@ class PageSet(object): |
self.pages = [] |
+ if self.archive_data_file: |
+ base_dir = os.path.dirname(file_path) |
+ self.wpr_archive_info = page_set_archive_info.PageSetArchiveInfo.FromFile( |
+ os.path.join(base_dir, self.archive_data_file), file_path) |
+ else: |
+ self.wpr_archive_info = None |
+ |
@classmethod |
def FromFile(cls, file_path): |
with open(file_path, 'r') as f: |
contents = f.read() |
data = json.loads(contents) |
- return cls.FromDict(data, os.path.dirname(file_path)) |
+ return cls.FromDict(data, file_path) |
@classmethod |
def FromDict(cls, data, file_path=''): |
page_set = cls(file_path, data) |
for page_attributes in data['pages']: |
url = page_attributes.pop('url') |
- page = page_module.Page(url, attributes=page_attributes, |
- base_dir=file_path) |
+ page = page_module.Page(url, page_set, attributes=page_attributes, |
+ base_dir=os.path.dirname(file_path)) |
page_set.pages.append(page) |
return page_set |
@@ -70,6 +78,11 @@ class PageSet(object): |
return pages |
+ def WprFilePathForPage(self, page): |
+ if not self.wpr_archive_info: |
+ return None |
+ return self.wpr_archive_info.WprFilePathForPage(page) |
+ |
def __iter__(self): |
return self.pages.__iter__() |