Revision 02de6286 snf-pithos-app/pithos/api/util.py
b/snf-pithos-app/pithos/api/util.py | ||
---|---|---|
44 | 44 |
from django.core.files.uploadedfile import UploadedFile |
45 | 45 |
|
46 | 46 |
from snf_django.lib.api.parsedate import parse_http_date_safe, parse_http_date |
47 |
from snf_django.lib.astakos import user_for_token |
|
48 | 47 |
from snf_django.lib import api |
49 | 48 |
from snf_django.lib.api import faults, utils |
50 | 49 |
|
... | ... | |
63 | 62 |
RADOS_POOL_MAPS, TRANSLATE_UUIDS, |
64 | 63 |
PUBLIC_URL_SECURITY, |
65 | 64 |
PUBLIC_URL_ALPHABET) |
65 |
from pithos.api.resources import resources |
|
66 | 66 |
from pithos.backends.base import (NotAllowedError, QuotaError, ItemNotExists, |
67 | 67 |
VersionNotExists) |
68 | 68 |
from astakosclient import AstakosClient |
... | ... | |
1043 | 1043 |
def get_pithos_usage(token): |
1044 | 1044 |
"""Get Pithos Usage from astakos.""" |
1045 | 1045 |
astakos = AstakosClient(ASTAKOS_URL, retry=2, use_pool=True, logger=logger) |
1046 |
user_info = user_for_token(astakos, token, usage=True) |
|
1047 |
usage = user_info.get("usage", []) |
|
1048 |
for u in usage: |
|
1049 |
if u.get('name') == 'pithos.diskspace': |
|
1050 |
return u |
|
1046 |
quotas = astakos.get_quotas(token)['system'] |
|
1047 |
pithos_resources = [r['name'] for r in resources] |
|
1048 |
map(quotas.pop, filter(lambda k: k not in pithos_resources, quotas.keys())) |
|
1049 |
return quotas.popitem()[-1] # assume only one resource |
|
1051 | 1050 |
|
1052 | 1051 |
|
1053 | 1052 |
def api_method(http_method=None, user_required=True, logger=None, |
Also available in: Unified diff