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

Unified Diff: boto/provider.py

Issue 8386013: Merging in latest boto. (Closed) Base URL: svn://svn.chromium.org/boto
Patch Set: Redoing vendor drop by deleting and then merging. Created 9 years, 2 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « boto/mturk/question.py ('k') | boto/pyami/bootstrap.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: boto/provider.py
diff --git a/boto/provider.py b/boto/provider.py
index c1c8b59105d77f87409304241e52c4c40e37321e..7e9f640d7cd483428c1d767d3e2c7ed5ae5f1fee 100644
--- a/boto/provider.py
+++ b/boto/provider.py
@@ -1,6 +1,7 @@
# Copyright (c) 2010 Mitch Garnaat http://garnaat.org/
# Copyright 2010 Google Inc.
# Copyright (c) 2010, Eucalyptus Systems, Inc.
+# Copyright (c) 2011, Nexenta Systems Inc.
# All rights reserved.
#
# Permission is hereby granted, free of charge, to any person obtaining a
@@ -50,6 +51,7 @@ RESUMABLE_UPLOAD_HEADER_KEY = 'resumable-upload-header'
SECURITY_TOKEN_HEADER_KEY = 'security-token-header'
STORAGE_CLASS_HEADER_KEY = 'storage-class'
MFA_HEADER_KEY = 'mfa-header'
+SERVER_SIDE_ENCRYPTION_KEY = 'server-side-encryption-header'
VERSION_ID_HEADER_KEY = 'version-id-header'
STORAGE_COPY_ERROR = 'StorageCopyError'
@@ -81,6 +83,14 @@ class Provider(object):
'google' : 'gs'
}
+ ChunkedTransferSupport = {
+ 'aws' : False,
+ 'google' : True
+ }
+
+ # If you update this map please make sure to put "None" for the
+ # right-hand-side for any headers that don't apply to a provider, rather
+ # than simply leaving that header out (which would cause KeyErrors).
HeaderInfoMap = {
'aws' : {
HEADER_PREFIX_KEY : AWS_HEADER_PREFIX,
@@ -96,6 +106,7 @@ class Provider(object):
'metadata-directive',
RESUMABLE_UPLOAD_HEADER_KEY : None,
SECURITY_TOKEN_HEADER_KEY : AWS_HEADER_PREFIX + 'security-token',
+ SERVER_SIDE_ENCRYPTION_KEY : AWS_HEADER_PREFIX + 'server-side-encryption',
VERSION_ID_HEADER_KEY : AWS_HEADER_PREFIX + 'version-id',
STORAGE_CLASS_HEADER_KEY : AWS_HEADER_PREFIX + 'storage-class',
MFA_HEADER_KEY : AWS_HEADER_PREFIX + 'mfa',
@@ -114,6 +125,9 @@ class Provider(object):
'metadata-directive',
RESUMABLE_UPLOAD_HEADER_KEY : GOOG_HEADER_PREFIX + 'resumable',
SECURITY_TOKEN_HEADER_KEY : GOOG_HEADER_PREFIX + 'security-token',
+ SERVER_SIDE_ENCRYPTION_KEY : None,
+ # Note that this version header is not to be confused with
+ # the Google Cloud Storage 'x-goog-api-version' header.
VERSION_ID_HEADER_KEY : GOOG_HEADER_PREFIX + 'version-id',
STORAGE_CLASS_HEADER_KEY : None,
MFA_HEADER_KEY : None,
@@ -137,10 +151,12 @@ class Provider(object):
}
}
- def __init__(self, name, access_key=None, secret_key=None):
+ def __init__(self, name, access_key=None, secret_key=None,
+ security_token=None):
self.host = None
self.access_key = access_key
self.secret_key = secret_key
+ self.security_token = security_token
self.name = name
self.acl_class = self.AclClassMap[self.name]
self.canned_acls = self.CannedAclsMap[self.name]
@@ -188,6 +204,7 @@ class Provider(object):
self.security_token_header = header_info_map[SECURITY_TOKEN_HEADER_KEY]
self.resumable_upload_header = (
header_info_map[RESUMABLE_UPLOAD_HEADER_KEY])
+ self.server_side_encryption_header = header_info_map[SERVER_SIDE_ENCRYPTION_KEY]
self.storage_class_header = header_info_map[STORAGE_CLASS_HEADER_KEY]
self.version_id = header_info_map[VERSION_ID_HEADER_KEY]
self.mfa_header = header_info_map[MFA_HEADER_KEY]
@@ -203,6 +220,9 @@ class Provider(object):
def get_provider_name(self):
return self.HostKeyMap[self.name]
+ def supports_chunked_transfer(self):
+ return self.ChunkedTransferSupport[self.name]
+
# Static utility method for getting default Provider.
def get_default():
return Provider('aws')
« no previous file with comments | « boto/mturk/question.py ('k') | boto/pyami/bootstrap.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698