Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(86)

Side by Side Diff: tools/telemetry/telemetry/page/page.py

Issue 388653002: Telemetry Pages support AsDict() (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Name 'name' parameter in page_unittest Created 6 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | tools/telemetry/telemetry/page/page_unittest.py » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright 2012 The Chromium Authors. All rights reserved. 1 # Copyright 2012 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 4
5 import inspect 5 import inspect
6 import os 6 import os
7 import re 7 import re
8 import urlparse 8 import urlparse
9 9
10 _next_page_id = 0 10 _next_page_id = 0
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
50 def CanRunOnBrowser(self, browser_info): 50 def CanRunOnBrowser(self, browser_info):
51 """Override this to returns whether this page can be run on specific 51 """Override this to returns whether this page can be run on specific
52 browser. 52 browser.
53 53
54 Args: 54 Args:
55 browser_info: an instance of telemetry.core.browser_info.BrowserInfo 55 browser_info: an instance of telemetry.core.browser_info.BrowserInfo
56 """ 56 """
57 assert browser_info 57 assert browser_info
58 return True 58 return True
59 59
60 def AsDict(self):
61 """Converts a page object to a dict suitable for JSON output."""
62 d = {
63 'id': self._id,
64 'url': self._url,
65 }
66 if self._name:
67 d['name'] = self._name
68 return d
69
60 @property 70 @property
61 def page_set(self): 71 def page_set(self):
62 return self._page_set 72 return self._page_set
63 73
64 @property 74 @property
65 def name(self): 75 def name(self):
66 return self._name 76 return self._name
67 77
68 @property 78 @property
69 def url(self): 79 def url(self):
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after
152 return self.name 162 return self.name
153 if not self.is_file: 163 if not self.is_file:
154 return self.url 164 return self.url
155 all_urls = [p.url.rstrip('/') for p in self.page_set if p.is_file] 165 all_urls = [p.url.rstrip('/') for p in self.page_set if p.is_file]
156 common_prefix = os.path.dirname(os.path.commonprefix(all_urls)) 166 common_prefix = os.path.dirname(os.path.commonprefix(all_urls))
157 return self.url[len(common_prefix):].strip('/') 167 return self.url[len(common_prefix):].strip('/')
158 168
159 @property 169 @property
160 def archive_path(self): 170 def archive_path(self):
161 return self.page_set.WprFilePathForPage(self) 171 return self.page_set.WprFilePathForPage(self)
OLDNEW
« no previous file with comments | « no previous file | tools/telemetry/telemetry/page/page_unittest.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698