Revision b9ca81a0
b/pithos/lib/client.py | ||
---|---|---|
94 | 94 |
kwargs['headers']['X-Auth-Token'] = self.token |
95 | 95 |
if body: |
96 | 96 |
kwargs['body'] = body |
97 |
elif 'content-type' not in kwargs['headers']: |
|
98 |
kwargs['headers']['content-type'] = '' |
|
99 | 97 |
kwargs['headers'].setdefault('content-length', len(body) if body else 0) |
100 | 98 |
kwargs['headers'].setdefault('content-type', 'application/octet-stream') |
101 | 99 |
try: |
... | ... | |
194 | 192 |
headers[k] = v |
195 | 193 |
return self.post(path, headers=headers, params=params) |
196 | 194 |
|
195 |
def _reset_metadata(self, path, entity, **meta): |
|
196 |
""" |
|
197 |
overwrites all user defined metadata |
|
198 |
""" |
|
199 |
headers = {} |
|
200 |
prefix = 'x-%s-meta-' % entity |
|
201 |
for k,v in meta.items(): |
|
202 |
k = '%s%s' % (prefix, k) |
|
203 |
headers[k] = v |
|
204 |
return self.post(path, headers=headers) |
|
205 |
|
|
197 | 206 |
def _delete_metadata(self, path, entity, meta=[]): |
198 | 207 |
"""delete previously set metadata""" |
199 | 208 |
ex_meta = self.retrieve_account_metadata(restricted=True) |
... | ... | |
227 | 236 |
"""deletes the account metadata""" |
228 | 237 |
return self._delete_metadata('', 'account', meta) |
229 | 238 |
|
239 |
def reset_account_metadata(self, **meta): |
|
240 |
"""resets account metadata""" |
|
241 |
return self._reset_metadata('', 'account', **meta) |
|
242 |
|
|
230 | 243 |
# Storage Container Services |
231 | 244 |
|
232 | 245 |
def _filter_trashed(self, l): |
... | ... | |
502 | 515 |
params = {'update':None} |
503 | 516 |
return self.post('', headers=headers, params=params) |
504 | 517 |
|
518 |
def retrieve_account_groups(self): |
|
519 |
"""returns the account groups""" |
|
520 |
meta = self.retrieve_account_metadata() |
|
521 |
prefix = 'x-account-group-' |
|
522 |
prefixlen = len(prefix) |
|
523 |
groups = {} |
|
524 |
for key, val in meta.items(): |
|
525 |
if prefix and not key.startswith(prefix): |
|
526 |
continue |
|
527 |
elif prefix and key.startswith(prefix): |
|
528 |
key = key[prefixlen:] |
|
529 |
groups[key] = val |
|
530 |
return groups |
|
531 |
|
|
505 | 532 |
def unset_account_groups(self, groups=[]): |
506 | 533 |
"""delete account groups""" |
507 | 534 |
headers = {} |
Also available in: Unified diff