Index: tools/telemetry/telemetry/page/page_set.py |
diff --git a/tools/telemetry/telemetry/page/page_set.py b/tools/telemetry/telemetry/page/page_set.py |
index 234e7b1a8e29655934c755707c93162c7c1aaed9..d2966ffa2932c08b78b526c80d9664478debc7e2 100644 |
--- a/tools/telemetry/telemetry/page/page_set.py |
+++ b/tools/telemetry/telemetry/page/page_set.py |
@@ -7,9 +7,16 @@ import inspect |
import os |
from telemetry.core import util |
+from telemetry.page import cloud_storage |
from telemetry.page import page as page_module |
from telemetry.page import page_set_archive_info |
+ |
+PUBLIC_BUCKET = cloud_storage.PUBLIC_BUCKET |
+PARTNER_BUCKET = cloud_storage.PARTNER_BUCKET |
+INTERNAL_BUCKET = cloud_storage.INTERNAL_BUCKET |
+ |
+ |
class PageSetError(Exception): |
pass |
@@ -18,7 +25,7 @@ class PageSet(object): |
def __init__(self, file_path=None, archive_data_file='', |
credentials_path=None, user_agent_type=None, |
make_javascript_deterministic=True, startup_url='', |
- serving_dirs=None): |
+ serving_dirs=None, bucket=None): |
# The default value of file_path is location of the file that define this |
# page set instance's class. |
if file_path is None: |
@@ -44,6 +51,10 @@ class PageSet(object): |
self.serving_dirs.add(os.path.realpath(sd)) |
else: |
self.serving_dirs.add(os.path.realpath(os.path.join(self.base_dir, sd))) |
+ if self._IsValidPrivacyBucket(bucket): |
+ self._bucket = bucket |
+ else: |
+ raise ValueError("Pageset privacy bucket %s is invalid" % bucket) |
@classmethod |
def Name(cls): |
@@ -99,6 +110,14 @@ pages in %s must be in the form of def Run<...>(self, action_runner):""" |
% file_path) |
return page_set |
+ @staticmethod |
+ def _IsValidPrivacyBucket(bucket_name): |
+ if not bucket_name: |
+ return True |
+ if (bucket_name in [PUBLIC_BUCKET, PARTNER_BUCKET, INTERNAL_BUCKET]): |
+ return True |
+ return False |
+ |
@property |
def base_dir(self): |
if os.path.isfile(self.file_path): |
@@ -115,6 +134,10 @@ pages in %s must be in the form of def Run<...>(self, action_runner):""" |
os.path.join(self.base_dir, self.archive_data_file))) |
return self._wpr_archive_info |
+ @property |
+ def bucket(self): |
+ return self._bucket |
+ |
@wpr_archive_info.setter |
def wpr_archive_info(self, value): # pylint: disable=E0202 |
self._wpr_archive_info = value |