Chromium Code Reviews| 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..58e68982bf73070c51b207ca15321640e22798c9 100644 |
| --- a/tools/telemetry/telemetry/page_set.py |
| +++ b/tools/telemetry/telemetry/page_set.py |
| @@ -7,12 +7,14 @@ 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.base_dir = os.path.dirname(file_path) |
| + self.file_name = os.path.basename(file_path) |
| self.credentials_path = None |
| self.user_agent_type = None |
| @@ -22,12 +24,18 @@ class PageSet(object): |
| self.pages = [] |
| + if self.archive_data_file: |
| + self.wpr_archive_info = page_set_archive_info.PageSetArchiveInfo.FromFile( |
| + os.path.join(self.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=''): |
| @@ -35,8 +43,8 @@ class PageSet(object): |
| for page_attributes in data['pages']: |
| url = page_attributes.pop('url') |
| page = page_module.Page(url, attributes=page_attributes, |
| - base_dir=file_path) |
| - page_set.pages.append(page) |
| + base_dir=os.path.dirname(file_path)) |
| + page_set.AddPage(page) |
| return page_set |
| def ContainsOnlyFileURLs(self): |
| @@ -70,6 +78,11 @@ class PageSet(object): |
| return pages |
| + def AddPage(self, page): |
|
dtu
2013/01/30 02:19:10
There are other places in telemetry that do pages.
marja
2013/01/30 12:26:22
They pass as is, but I modified them to use AddPag
|
| + self.pages.append(page) |
| + if self.wpr_archive_info: |
| + page.archive_path = self.wpr_archive_info.WprFilePathForPage(page) |
| + |
| def __iter__(self): |
| return self.pages.__iter__() |