| Index: chrome/test/functional/ispy/server/gs_bucket.py
|
| ===================================================================
|
| --- chrome/test/functional/ispy/server/gs_bucket.py (revision 261231)
|
| +++ chrome/test/functional/ispy/server/gs_bucket.py (working copy)
|
| @@ -1,72 +0,0 @@
|
| -# Copyright 2013 The Chromium Authors. All rights reserved.
|
| -# Use of this source code is governed by a BSD-style license that can be
|
| -# found in the LICENSE file.
|
| -
|
| -"""Implementation of CloudBucket using Google Cloud Storage as the backend."""
|
| -import os
|
| -import sys
|
| -
|
| -import cloudstorage
|
| -
|
| -from common import cloud_bucket
|
| -
|
| -
|
| -class GoogleCloudStorageBucket(cloud_bucket.BaseCloudBucket):
|
| - """Subclass of cloud_bucket.CloudBucket with actual GS commands."""
|
| -
|
| - def __init__(self, bucket):
|
| - """Initializes the bucket.
|
| -
|
| - Args:
|
| - bucket: the name of the bucket to connect to.
|
| - """
|
| - self.bucket = '/' + bucket
|
| -
|
| - def _full_path(self, path):
|
| - return self.bucket + '/' + path.lstrip('/')
|
| -
|
| - # override
|
| - def UploadFile(self, path, contents, content_type):
|
| - gs_file = cloudstorage.open(
|
| - self._full_path(path), 'w', content_type=content_type)
|
| - gs_file.write(contents)
|
| - gs_file.close()
|
| -
|
| - # override
|
| - def DownloadFile(self, path):
|
| - try:
|
| - gs_file = cloudstorage.open(self._full_path(path), 'r')
|
| - r = gs_file.read()
|
| - gs_file.close()
|
| - except Exception as e:
|
| - raise Exception('%s: %s' % (self._full_path(path), str(e)))
|
| - return r
|
| -
|
| - # override
|
| - def UpdateFile(self, path, contents):
|
| - if not self.FileExists(path):
|
| - raise cloud_bucket.FileNotFoundError
|
| - gs_file = cloudstorage.open(self._full_path(path), 'w')
|
| - gs_file.write(contents)
|
| - gs_file.close()
|
| -
|
| - # override
|
| - def RemoveFile(self, path):
|
| - cloudstorage.delete(self._full_path(path))
|
| -
|
| - # override
|
| - def FileExists(self, path):
|
| - try:
|
| - cloudstorage.stat(self._full_path(path))
|
| - except cloudstorage.NotFoundError:
|
| - return False
|
| - return True
|
| -
|
| - # override
|
| - def GetImageURL(self, path):
|
| - return '/image?file_path=%s' % path
|
| -
|
| - # override
|
| - def GetAllPaths(self, prefix):
|
| - return (f.filename[len(self.bucket) + 1:] for f in
|
| - cloudstorage.listbucket(self.bucket, prefix=prefix))
|
|
|