git-svn-id: https://s3tools.svn.sourceforge.net/svnroot/s3tools/s3cmd/trunk@93 830e0280-6d2a-0410-9c65-932aecc39d9d
Michal Ludvig authored on 2007/02/28 11:38:27... | ... |
@@ -23,6 +23,7 @@ class S3Error (Exception): |
23 | 23 |
def __init__(self, response): |
24 | 24 |
self.status = response["status"] |
25 | 25 |
self.reason = response["reason"] |
26 |
+ self.info = {} |
|
26 | 27 |
debug("S3Error: %s (%s)" % (self.status, self.reason)) |
27 | 28 |
if response.has_key("headers"): |
28 | 29 |
for header in response["headers"]: |
... | ... |
@@ -32,12 +33,12 @@ class S3Error (Exception): |
32 | 32 |
for child in tree.getchildren(): |
33 | 33 |
if child.text != "": |
34 | 34 |
debug("ErrorXML: " + child.tag + ": " + repr(child.text)) |
35 |
- self.__setattr__(child.tag, child.text) |
|
35 |
+ self.info[child.tag] = child.text |
|
36 | 36 |
|
37 | 37 |
def __str__(self): |
38 | 38 |
retval = "%d (%s)" % (self.status, self.reason) |
39 | 39 |
try: |
40 |
- retval += (": %s" % self.Code) |
|
40 |
+ retval += (": %s" % self.info["Code"]) |
|
41 | 41 |
except AttributeError: |
42 | 42 |
pass |
43 | 43 |
return retval |
... | ... |
@@ -59,8 +59,8 @@ def subcmd_bucket_list(s3, uri): |
59 | 59 |
try: |
60 | 60 |
response = s3.bucket_list(bucket, prefix = object) |
61 | 61 |
except S3Error, e: |
62 |
- if S3.codes.has_key(e.Code): |
|
63 |
- error(S3.codes[e.Code] % bucket) |
|
62 |
+ if S3.codes.has_key(e.info["Code"]): |
|
63 |
+ error(S3.codes[e.info["Code"]] % bucket) |
|
64 | 64 |
return |
65 | 65 |
else: |
66 | 66 |
raise |
... | ... |
@@ -81,8 +81,8 @@ def cmd_bucket_create(args): |
81 | 81 |
s3 = S3(Config()) |
82 | 82 |
response = s3.bucket_create(uri.bucket()) |
83 | 83 |
except S3Error, e: |
84 |
- if S3.codes.has_key(e.Code): |
|
85 |
- error(S3.codes[e.Code] % uri.bucket()) |
|
84 |
+ if S3.codes.has_key(e.info["Code"]): |
|
85 |
+ error(S3.codes[e.info["Code"]] % uri.bucket()) |
|
86 | 86 |
return |
87 | 87 |
else: |
88 | 88 |
raise |
... | ... |
@@ -96,8 +96,8 @@ def cmd_bucket_delete(args): |
96 | 96 |
s3 = S3(Config()) |
97 | 97 |
response = s3.bucket_delete(uri.bucket()) |
98 | 98 |
except S3Error, e: |
99 |
- if S3.codes.has_key(e.Code): |
|
100 |
- error(S3.codes[e.Code] % uri.bucket()) |
|
99 |
+ if S3.codes.has_key(e.info["Code"]): |
|
100 |
+ error(S3.codes[e.info["Code"]] % uri.bucket()) |
|
101 | 101 |
return |
102 | 102 |
else: |
103 | 103 |
raise |