Index: tools/telemetry/telemetry/page/cloud_storage.py |
diff --git a/tools/telemetry/telemetry/page/cloud_storage.py b/tools/telemetry/telemetry/page/cloud_storage.py |
index 7d07466a6a49d5415ef00552f3945f0da089d999..f27e35507954c4a14edb085707a6d64baf976857 100644 |
--- a/tools/telemetry/telemetry/page/cloud_storage.py |
+++ b/tools/telemetry/telemetry/page/cloud_storage.py |
@@ -109,6 +109,12 @@ def List(bucket): |
stdout = _RunCommand(['ls', 'gs://%s' % bucket]) |
return [url.split('/')[-1] for url in stdout.splitlines()] |
+def Exists(bucket, remote_path): |
+ try: |
+ _RunCommand(['ls', 'gs://%s/%s' % (bucket, remote_path)]) |
+ return True |
+ except NotFoundError: |
+ return False |
def Delete(bucket, remote_path): |
url = 'gs://%s/%s' % (bucket, remote_path) |
@@ -122,10 +128,16 @@ def Get(bucket, remote_path, local_path): |
_RunCommand(['cp', url, local_path]) |
-def Insert(bucket, remote_path, local_path): |
+def Insert(bucket, remote_path, local_path, publicly_readable=False): |
url = 'gs://%s/%s' % (bucket, remote_path) |
- logging.info('Uploading %s to %s' % (local_path, url)) |
- _RunCommand(['cp', local_path, url]) |
+ command_and_args = ['cp'] |
+ extra_info = '' |
+ if publicly_readable: |
+ command_and_args += ['-a', 'public-read'] |
+ extra_info = ' (publicly readable)' |
+ command_and_args += [local_path, url] |
+ logging.info('Uploading %s to %s%s' % (local_path, url, extra_info)) |
+ _RunCommand(command_and_args) |
def GetIfChanged(bucket, file_path): |