You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by jb...@apache.org on 2013/07/24 00:40:34 UTC
git commit: updated refs/heads/4.2 to 040292d
Updated Branches:
refs/heads/4.2 e06f867bd -> 040292d60
- CLOUDSTACK-2583: PEP-8 compliance for s3xen
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/040292d6
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/040292d6
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/040292d6
Branch: refs/heads/4.2
Commit: 040292d606616d76429d08c235d77c8b692bd146
Parents: e06f867
Author: John Burwell <jb...@apache.org>
Authored: Tue Jul 23 18:37:51 2013 -0400
Committer: John Burwell <jb...@apache.org>
Committed: Tue Jul 23 18:40:26 2013 -0400
----------------------------------------------------------------------
scripts/vm/hypervisor/xenserver/s3xen | 47 ++++++++++++++++++------------
1 file changed, 29 insertions(+), 18 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/040292d6/scripts/vm/hypervisor/xenserver/s3xen
----------------------------------------------------------------------
diff --git a/scripts/vm/hypervisor/xenserver/s3xen b/scripts/vm/hypervisor/xenserver/s3xen
index 9cbe238..1348e48 100644
--- a/scripts/vm/hypervisor/xenserver/s3xen
+++ b/scripts/vm/hypervisor/xenserver/s3xen
@@ -42,6 +42,8 @@ import util
NULL = 'null'
# Value conversion utility functions ...
+
+
def to_none(value):
if value is None:
@@ -50,13 +52,14 @@ def to_none(value):
return None
return value
+
def to_bool(value):
if to_none(value) is None:
return False
if isinstance(value, basestring) and value.strip().lower() == 'true':
return True
- if isinstance(value, int) and value == True:
+ if isinstance(value, int) and value:
return True
return False
@@ -67,12 +70,14 @@ def to_integer(value, default):
return default
return int(value)
+
def optional_str_value(value, default):
if is_not_blank(value):
return value
return default
+
def is_not_blank(value):
if to_none(value) is None or not isinstance(value, basestring):
@@ -85,7 +90,7 @@ def is_not_blank(value):
def get_optional_key(map, key, default=''):
if key in map:
- return map[key]
+ return map[key]
return default
@@ -93,6 +98,7 @@ def log(message):
util.SMlog('#### VMOPS %s ####' % message)
+
def echo(fn):
def wrapped(*v, **k):
name = fn.__name__
@@ -115,7 +121,8 @@ def retry(max_attempts, fn):
attempts = 1
while attempts <= max_attempts:
- log("Attempting execution " + str(attempts) + "/" + str(max_attempts) + " of " + fn.__name__)
+ log("Attempting execution " + str(attempts) + "/" + str(
+ max_attempts) + " of " + fn.__name__)
try:
return fn()
except:
@@ -131,16 +138,16 @@ def compute_md5(filename, buffer_size=8192):
file = open(filename, 'rb')
try:
- data = file.read(buffer_size)
- while data != "":
- hasher.update(data)
- data = file.read(buffer_size)
+ data = file.read(buffer_size)
+ while data != "":
+ hasher.update(data)
+ data = file.read(buffer_size)
- return base64.encodestring(hasher.digest())[:-1]
+ return base64.encodestring(hasher.digest())[:-1]
finally:
- file.close()
+ file.close()
class S3Client(object):
@@ -193,7 +200,8 @@ class S3Client(object):
headers['Date'] = request_date
def perform_request():
- print "method=", method, ", uri=", uri, ", headers=", headers, " endpoint=", self.end_point
+ print "method=", method, ", uri=", uri, ", headers=", headers,
+ " endpoint=", self.end_point
connection = None
if self.https_flag:
@@ -205,22 +213,25 @@ class S3Client(object):
connection.timeout = self.socket_timeout
connection.putrequest(method, uri)
- for k,v in headers.items():
- connection.putheader(k,v)
+ for k, v in headers.items():
+ connection.putheader(k, v)
connection.endheaders()
fn_send_body(connection)
response = connection.getresponse()
- log("Sent " + method + " request to " + self.end_point + "/" + uri + " with headers " + str(headers) + ". Received response status " + str(response.status) + ": " + response.reason)
+ log("Sent " + method + " request to " + self.end_point + "/" +
+ uri + " with headers " + str(headers) +
+ ". Received response status " + str(response.status) +
+ ": " + response.reason)
+
return fn_read(response)
-
+
finally:
connection.close()
return retry(self.max_error_retry, perform_request)
-
'''
See http://bit.ly/MMC5de for more information regarding the creation of
AWS authorization tokens and header signing
@@ -280,7 +291,7 @@ class S3Client(object):
file.write(block)
except:
- file.close()
+ file.close()
return self.do_operation('GET', bucket, key, fn_read=read)
@@ -337,10 +348,10 @@ def s3(session, args):
return 'true'
except:
- log("Operation " + operation + " on file " + filename + " from/in bucket " + bucket + " key " + key)
+ log("Operation " + operation + " on file " + filename +
+ " from/in bucket " + bucket + " key " + key)
log(traceback.format_exc())
return 'false'
if __name__ == "__main__":
XenAPIPlugin.dispatch({"s3": s3})
-