Revision 32454501 snf-pithos-app/pithos/api/functions.py

b/snf-pithos-app/pithos/api/functions.py
53 53
    put_object_headers, update_manifest_meta, update_sharing_meta, update_public_meta,
54 54
    validate_modification_preconditions, validate_matching_preconditions, split_container_object_string,
55 55
    copy_or_move_object, get_int_parameter, get_content_length, get_content_range, socket_read_iterator,
56
    SaveToBackendHandler, object_data_response, put_object_block, hashmap_md5, simple_list_response, api_method)
56
    SaveToBackendHandler, object_data_response, put_object_block, hashmap_md5, simple_list_response, api_method,
57
    retrieve_username, retrieve_uuid)
57 58
from pithos.api.settings import UPDATE_MD5
58 59

  
59 60
from pithos.backends.base import NotAllowedError, QuotaError, ContainerNotEmpty, ItemNotExists, VersionNotExists, ContainerExists
......
175 176
            # The cloudfiles python bindings expect 200 if json/xml.
176 177
            response.status_code = 204
177 178
            return response
179
        if 'translate' in request.GET:
180
            accounts = [retrieve_username(x) for x in accounts]
178 181
        response.status_code = 200
179 182
        response.content = '\n'.join(accounts) + '\n'
180 183
        return response
......
190 193
        except NotAllowedError:
191 194
            raise Forbidden('Not allowed')
192 195
        else:
196
            if 'translate' in request.GET:
197
                meta['name'] = retrieve_username(x)
193 198
            rename_meta_key(meta, 'modified', 'last_modified')
194 199
            rename_meta_key(
195 200
                meta, 'until_timestamp', 'x_account_until_timestamp')
......
219 224
            request.user_uniq, v_account, 'pithos', until)
220 225
        groups = request.backend.get_account_groups(
221 226
            request.user_uniq, v_account)
227
        for k in groups:
228
            groups[k] = [retrieve_username(x) for x in groups[k]]
222 229
        policy = request.backend.get_account_policy(
223 230
            request.user_uniq, v_account)
224 231
    except NotAllowedError:
......
239 246
    #                       badRequest (400)
240 247

  
241 248
    meta, groups = get_account_headers(request)
249
    for k in groups:
250
        try:
251
            groups[k] = [retrieve_uuid(x) for x in groups[k]]
252
        except ItemNotExists, e:
253
            raise BadRequest(
254
                'Bad X-Account-Group header value: unknown account: %s' % e)
242 255
    replace = True
243 256
    if 'update' in request.GET:
244 257
        replace = False

Also available in: Unified diff