Mercurial > repos > shellac > guppy_basecaller
comparison env/lib/python3.7/site-packages/boto/s3/multidelete.py @ 2:6af9afd405e9 draft
"planemo upload commit 0a63dd5f4d38a1f6944587f52a8cd79874177fc1"
author | shellac |
---|---|
date | Thu, 14 May 2020 14:56:58 -0400 |
parents | 26e78fe6e8c4 |
children |
comparison
equal
deleted
inserted
replaced
1:75ca89e9b81c | 2:6af9afd405e9 |
---|---|
1 # Copyright (c) 2011 Mitch Garnaat http://garnaat.org/ | |
2 # | |
3 # Permission is hereby granted, free of charge, to any person obtaining a | |
4 # copy of this software and associated documentation files (the | |
5 # "Software"), to deal in the Software without restriction, including | |
6 # without limitation the rights to use, copy, modify, merge, publish, dis- | |
7 # tribute, sublicense, and/or sell copies of the Software, and to permit | |
8 # persons to whom the Software is furnished to do so, subject to the fol- | |
9 # lowing conditions: | |
10 # | |
11 # The above copyright notice and this permission notice shall be included | |
12 # in all copies or substantial portions of the Software. | |
13 # | |
14 # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS | |
15 # OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABIL- | |
16 # ITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT | |
17 # SHALL THE AUTHOR BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, | |
18 # WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | |
19 # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS | |
20 # IN THE SOFTWARE. | |
21 | |
22 from boto import handler | |
23 import xml.sax | |
24 | |
25 class Deleted(object): | |
26 """ | |
27 A successfully deleted object in a multi-object delete request. | |
28 | |
29 :ivar key: Key name of the object that was deleted. | |
30 | |
31 :ivar version_id: Version id of the object that was deleted. | |
32 | |
33 :ivar delete_marker: If True, indicates the object deleted | |
34 was a DeleteMarker. | |
35 | |
36 :ivar delete_marker_version_id: Version ID of the delete marker | |
37 deleted. | |
38 """ | |
39 def __init__(self, key=None, version_id=None, | |
40 delete_marker=False, delete_marker_version_id=None): | |
41 self.key = key | |
42 self.version_id = version_id | |
43 self.delete_marker = delete_marker | |
44 self.delete_marker_version_id = delete_marker_version_id | |
45 | |
46 def __repr__(self): | |
47 if self.version_id: | |
48 return '<Deleted: %s.%s>' % (self.key, self.version_id) | |
49 else: | |
50 return '<Deleted: %s>' % self.key | |
51 | |
52 def startElement(self, name, attrs, connection): | |
53 return None | |
54 | |
55 def endElement(self, name, value, connection): | |
56 if name == 'Key': | |
57 self.key = value | |
58 elif name == 'VersionId': | |
59 self.version_id = value | |
60 elif name == 'DeleteMarker': | |
61 if value.lower() == 'true': | |
62 self.delete_marker = True | |
63 elif name == 'DeleteMarkerVersionId': | |
64 self.delete_marker_version_id = value | |
65 else: | |
66 setattr(self, name, value) | |
67 | |
68 class Error(object): | |
69 """ | |
70 An unsuccessful deleted object in a multi-object delete request. | |
71 | |
72 :ivar key: Key name of the object that was not deleted. | |
73 | |
74 :ivar version_id: Version id of the object that was not deleted. | |
75 | |
76 :ivar code: Status code of the failed delete operation. | |
77 | |
78 :ivar message: Status message of the failed delete operation. | |
79 """ | |
80 def __init__(self, key=None, version_id=None, | |
81 code=None, message=None): | |
82 self.key = key | |
83 self.version_id = version_id | |
84 self.code = code | |
85 self.message = message | |
86 | |
87 def __repr__(self): | |
88 if self.version_id: | |
89 return '<Error: %s.%s(%s)>' % (self.key, self.version_id, | |
90 self.code) | |
91 else: | |
92 return '<Error: %s(%s)>' % (self.key, self.code) | |
93 | |
94 def startElement(self, name, attrs, connection): | |
95 return None | |
96 | |
97 def endElement(self, name, value, connection): | |
98 if name == 'Key': | |
99 self.key = value | |
100 elif name == 'VersionId': | |
101 self.version_id = value | |
102 elif name == 'Code': | |
103 self.code = value | |
104 elif name == 'Message': | |
105 self.message = value | |
106 else: | |
107 setattr(self, name, value) | |
108 | |
109 class MultiDeleteResult(object): | |
110 """ | |
111 The status returned from a MultiObject Delete request. | |
112 | |
113 :ivar deleted: A list of successfully deleted objects. Note that if | |
114 the quiet flag was specified in the request, this list will | |
115 be empty because only error responses would be returned. | |
116 | |
117 :ivar errors: A list of unsuccessfully deleted objects. | |
118 """ | |
119 | |
120 def __init__(self, bucket=None): | |
121 self.bucket = None | |
122 self.deleted = [] | |
123 self.errors = [] | |
124 | |
125 def startElement(self, name, attrs, connection): | |
126 if name == 'Deleted': | |
127 d = Deleted() | |
128 self.deleted.append(d) | |
129 return d | |
130 elif name == 'Error': | |
131 e = Error() | |
132 self.errors.append(e) | |
133 return e | |
134 return None | |
135 | |
136 def endElement(self, name, value, connection): | |
137 setattr(self, name, value) | |
138 |