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

Side by Side Diff: chrome/test/functional/ispy/server/gs_bucket.py

Issue 222873002: Remove pyauto tests. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: sync Created 6 years, 8 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 | Annotate | Revision Log
OLDNEW
(Empty)
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
3 # found in the LICENSE file.
4
5 """Implementation of CloudBucket using Google Cloud Storage as the backend."""
6 import os
7 import sys
8
9 import cloudstorage
10
11 from common import cloud_bucket
12
13
14 class GoogleCloudStorageBucket(cloud_bucket.BaseCloudBucket):
15 """Subclass of cloud_bucket.CloudBucket with actual GS commands."""
16
17 def __init__(self, bucket):
18 """Initializes the bucket.
19
20 Args:
21 bucket: the name of the bucket to connect to.
22 """
23 self.bucket = '/' + bucket
24
25 def _full_path(self, path):
26 return self.bucket + '/' + path.lstrip('/')
27
28 # override
29 def UploadFile(self, path, contents, content_type):
30 gs_file = cloudstorage.open(
31 self._full_path(path), 'w', content_type=content_type)
32 gs_file.write(contents)
33 gs_file.close()
34
35 # override
36 def DownloadFile(self, path):
37 try:
38 gs_file = cloudstorage.open(self._full_path(path), 'r')
39 r = gs_file.read()
40 gs_file.close()
41 except Exception as e:
42 raise Exception('%s: %s' % (self._full_path(path), str(e)))
43 return r
44
45 # override
46 def UpdateFile(self, path, contents):
47 if not self.FileExists(path):
48 raise cloud_bucket.FileNotFoundError
49 gs_file = cloudstorage.open(self._full_path(path), 'w')
50 gs_file.write(contents)
51 gs_file.close()
52
53 # override
54 def RemoveFile(self, path):
55 cloudstorage.delete(self._full_path(path))
56
57 # override
58 def FileExists(self, path):
59 try:
60 cloudstorage.stat(self._full_path(path))
61 except cloudstorage.NotFoundError:
62 return False
63 return True
64
65 # override
66 def GetImageURL(self, path):
67 return '/image?file_path=%s' % path
68
69 # override
70 def GetAllPaths(self, prefix):
71 return (f.filename[len(self.bucket) + 1:] for f in
72 cloudstorage.listbucket(self.bucket, prefix=prefix))
OLDNEW
« no previous file with comments | « chrome/test/functional/ispy/server/debug_view_handler.py ('k') | chrome/test/functional/ispy/server/image_handler.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698