Revision e6b39366 kamaki/clients/pithos.py
b/kamaki/clients/pithos.py | ||
---|---|---|
37 | 37 |
from time import time |
38 | 38 |
|
39 | 39 |
from .storage import StorageClient |
40 |
from .utils import path4url, params4url, prefix_keys |
|
40 |
from .utils import path4url, params4url, prefix_keys, filter_in, filter_out
|
|
41 | 41 |
|
42 | 42 |
|
43 | 43 |
def pithos_hash(block, blockhash): |
... | ... | |
132 | 132 |
self.put(path, params=params, headers=headers, json=hashmap, |
133 | 133 |
success=201) |
134 | 134 |
|
135 |
def get_account_policy(self): |
|
136 |
return filter_in(self.get_account_info(), 'X-Account-Policy-') |
|
137 |
|
|
138 |
def get_account_meta(self): |
|
139 |
return filter_in(self.get_account_info(), 'X-Account-Meta-') |
|
135 | 140 |
|
136 | 141 |
def set_account_meta(self, metapairs): |
137 | 142 |
assert(type(metapairs) is dict) |
... | ... | |
140 | 145 |
meta = prefix_keys(metapairs, 'X-Account-Meta-') |
141 | 146 |
self.post(path, meta=meta, success=202) |
142 | 147 |
|
148 |
def get_container_policy(self, container): |
|
149 |
return filter_in(self.get_container_info(container), 'X-Container-Policy-') |
|
150 |
|
|
151 |
def get_container_meta(self, container): |
|
152 |
return filter_in(self.get_container_info(container), 'X-Container-Meta-') |
|
153 |
|
|
154 |
def get_container_object_meta(self, container): |
|
155 |
return filter_in(self.get_container_info(container), 'X-Container-Object-Meta') |
|
156 |
|
|
143 | 157 |
def set_container_meta(self, metapairs): |
144 | 158 |
assert(type(metapairs) is dict) |
145 | 159 |
self.assert_container() |
... | ... | |
147 | 161 |
meta = prefix_keys(metapairs, 'X-Container-Meta-') |
148 | 162 |
self.post(path, meta=meta, success=202) |
149 | 163 |
|
164 |
def delete_container_meta(self, metakey): |
|
165 |
headers = self.get_container_info(self.container) |
|
166 |
new_headers = filter_out(headers, 'x-container-meta-'+metakey, exactMatch = True) |
|
167 |
if len(new_headers) == len(headers): |
|
168 |
raise ClientError('X-Container-Meta-%s not found' % metakey, 404) |
|
169 |
path = path4url(self.account, self.container) |
|
170 |
self.post(path, headers=new_headers, success = 202) |
|
171 |
|
|
172 |
def replace_container_meta(self, metapairs): |
|
173 |
self.assert_container() |
|
174 |
path=path4url(self.account, self.container) |
|
175 |
meta = prefix_keys(metapairs, 'X-Container-Meta-') |
|
176 |
self.post(path, meta=meta, success=202) |
|
177 |
|
|
150 | 178 |
def set_object_meta(self, object, metapairs): |
151 | 179 |
assert(type(metapairs) is dict) |
152 | 180 |
self.assert_container() |
Also available in: Unified diff