Revision 961f2fbe pithos/lib/client.py
b/pithos/lib/client.py | ||
---|---|---|
217 | 217 |
""" |
218 | 218 |
adds new and updates the values of previously set metadata |
219 | 219 |
""" |
220 |
for key, val in meta.items(): |
|
221 |
meta.pop(key) |
|
222 |
meta['X-%s-Meta-%s' %(entity.capitalize(), key.capitalize())] = val |
|
223 |
prev_meta = self._get_metadata(path) |
|
220 |
prefix = 'x-%s-meta-' % entity |
|
221 |
prev_meta = self._get_metadata(path, prefix) |
|
224 | 222 |
prev_meta.update(meta) |
225 | 223 |
headers = {} |
226 | 224 |
for key, val in prev_meta.items(): |
227 |
headers[key.capitalize()] = val |
|
225 |
key = '%s%s' % (prefix, key) |
|
226 |
key = '-'.join(elem.capitalize() for elem in key.split('-')) |
|
227 |
headers[key] = val |
|
228 | 228 |
self.post(path, headers=headers) |
229 | 229 |
|
230 | 230 |
def _delete_metadata(self, path, entity, meta=[]): |
231 | 231 |
""" |
232 | 232 |
delete previously set metadata |
233 | 233 |
""" |
234 |
prev_meta = self._get_metadata(path) |
|
234 |
prefix = 'x-%s-meta-' % entity |
|
235 |
prev_meta = self._get_metadata(path, prefix) |
|
235 | 236 |
headers = {} |
236 | 237 |
for key, val in prev_meta.items(): |
237 |
if key.split('-')[-1] in meta:
|
|
238 |
if key in meta: |
|
238 | 239 |
continue |
239 |
http_key = key.capitalize() |
|
240 |
headers[http_key] = val |
|
240 |
key = '%s%s' % (prefix, key) |
|
241 |
key = '-'.join(elem.capitalize() for elem in key.split('-')) |
|
242 |
headers[key] = val |
|
241 | 243 |
self.post(path, headers=headers) |
242 | 244 |
|
243 | 245 |
# Storage Account Services |
... | ... | |
402 | 404 |
def restore_object(self, container, object): |
403 | 405 |
""" |
404 | 406 |
restores a trashed object |
405 |
actualy just resets all object metadata except trash
|
|
407 |
actualy removes trash object metadata info
|
|
406 | 408 |
""" |
407 | 409 |
self.delete_object_metadata(container, object, ['trash']) |
408 | 410 |
|
Also available in: Unified diff