| OLD | NEW |
| 1 # Copyright 2013 The Chromium Authors. All rights reserved. | 1 # Copyright 2013 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 """Implementation of CloudBucket using Google Cloud Storage as the backend.""" | 5 """Implementation of CloudBucket using Google Cloud Storage as the backend.""" |
| 6 import os | 6 import os |
| 7 import sys | 7 import sys |
| 8 | 8 |
| 9 # boto requires depot_tools/third_party be in the path. Use | 9 # boto requires depot_tools/third_party be in the path. Use |
| 10 # src/tools/find_depot_tools.py to add this directory. | 10 # src/tools/find_depot_tools.py to add this directory. |
| 11 sys.path.append(os.path.join(os.path.dirname(__file__), os.pardir, os.pardir, | 11 sys.path.append(os.path.join(os.path.dirname(__file__), os.pardir, os.pardir, |
| 12 os.pardir, os.pardir, os.pardir, 'tools')) | 12 os.pardir, os.pardir, 'tools')) |
| 13 import find_depot_tools | 13 import find_depot_tools |
| 14 DEPOT_TOOLS_PATH = find_depot_tools.add_depot_tools_to_path() | 14 DEPOT_TOOLS_PATH = find_depot_tools.add_depot_tools_to_path() |
| 15 sys.path.append(os.path.join(os.path.abspath(DEPOT_TOOLS_PATH), 'third_party')) | 15 sys.path.append(os.path.join(os.path.abspath(DEPOT_TOOLS_PATH), 'third_party')) |
| 16 import boto | 16 import boto |
| 17 | 17 |
| 18 from ..common import cloud_bucket | 18 from ispy.common import cloud_bucket |
| 19 | 19 |
| 20 | 20 |
| 21 class BotoCloudBucket(cloud_bucket.BaseCloudBucket): | 21 class BotoCloudBucket(cloud_bucket.BaseCloudBucket): |
| 22 """Interfaces with GS using the boto library.""" | 22 """Interfaces with GS using the boto library.""" |
| 23 | 23 |
| 24 def __init__(self, key, secret, bucket_name): | 24 def __init__(self, key, secret, bucket_name): |
| 25 """Initializes the bucket with a key, secret, and bucket_name. | 25 """Initializes the bucket with a key, secret, and bucket_name. |
| 26 | 26 |
| 27 Args: | 27 Args: |
| 28 key: the API key to access GS. | 28 key: the API key to access GS. |
| (...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 79 if key.exists(): | 79 if key.exists(): |
| 80 # Corrects a bug in boto that incorrectly generates a url | 80 # Corrects a bug in boto that incorrectly generates a url |
| 81 # to a resource in Google Cloud Storage. | 81 # to a resource in Google Cloud Storage. |
| 82 return key.generate_url(3600).replace('AWSAccessKeyId', 'GoogleAccessId') | 82 return key.generate_url(3600).replace('AWSAccessKeyId', 'GoogleAccessId') |
| 83 else: | 83 else: |
| 84 raise cloud_bucket.FileNotFoundError(path) | 84 raise cloud_bucket.FileNotFoundError(path) |
| 85 | 85 |
| 86 # override | 86 # override |
| 87 def GetAllPaths(self, prefix): | 87 def GetAllPaths(self, prefix): |
| 88 return (key.key for key in self.bucket.get_all_keys(prefix=prefix)) | 88 return (key.key for key in self.bucket.get_all_keys(prefix=prefix)) |
| OLD | NEW |