Revision e311d555
b/astakosclient/astakosclient/tests.py | ||
---|---|---|
417 | 417 |
"resource": "cyclades.ram", |
418 | 418 |
"quantity": 520000000}, |
419 | 419 |
"name": "NoCapacityError", |
420 |
"available": 420000000}}} |
|
420 |
"limit": 600000000, |
|
421 |
"usage": 180000000}}} |
|
421 | 422 |
|
422 | 423 |
pending_commissions = [100, 200] |
423 | 424 |
|
b/docs/quota-api-guide.rst | ||
---|---|---|
222 | 222 |
"quantity": 1 |
223 | 223 |
}, |
224 | 224 |
"name": "NoCapacityError", |
225 |
"available": 0 |
|
225 |
"limit": 2, |
|
226 |
"usage": 2 |
|
226 | 227 |
} |
227 | 228 |
} |
228 | 229 |
} |
b/snf-astakos-app/astakos/quotaholder/commission.py | ||
---|---|---|
91 | 91 |
provision = cls.provision(holding, quantity, importing=True) |
92 | 92 |
raise NoCapacityError(m, |
93 | 93 |
provision=provision, |
94 |
available=limit-imported_max) |
|
94 |
limit=limit, |
|
95 |
usage=imported_max) |
|
95 | 96 |
|
96 | 97 |
holding.imported_max = new_imported_max |
97 | 98 |
holding.save() |
b/snf-astakos-app/astakos/quotaholder/exception.py | ||
---|---|---|
51 | 51 |
class CommissionException(QuotaholderError): |
52 | 52 |
data = {} |
53 | 53 |
|
54 |
def add_data(self, kwargs, key): |
|
55 |
value = kwargs.pop(key, None) |
|
56 |
if value is not None: |
|
57 |
self.data[key] = value |
|
58 |
|
|
54 | 59 |
def __init__(self, *args, **kwargs): |
55 | 60 |
self.data['name'] = self.__class__.__name__ |
56 |
|
|
57 |
provision = kwargs.pop('provision', None) |
|
58 |
if provision is not None: |
|
59 |
self.data['provision'] = provision |
|
61 |
self.add_data(kwargs, 'provision') |
|
60 | 62 |
|
61 | 63 |
QuotaholderError.__init__(self, *args, **kwargs) |
62 | 64 |
|
63 | 65 |
|
64 | 66 |
class NoCapacityError(CommissionException): |
65 | 67 |
def __init__(self, *args, **kwargs): |
66 |
available = kwargs.pop('available', None) |
|
67 |
if available is not None: |
|
68 |
self.data['available'] = available |
|
69 |
|
|
68 |
self.add_data(kwargs, 'usage') |
|
69 |
self.add_data(kwargs, 'limit') |
|
70 | 70 |
CommissionException.__init__(self, *args, **kwargs) |
71 | 71 |
|
72 | 72 |
|
73 | 73 |
class NoQuantityError(CommissionException): |
74 | 74 |
def __init__(self, *args, **kwargs): |
75 |
available = kwargs.pop('available', None) |
|
76 |
if available is not None: |
|
77 |
self.data['available'] = available |
|
78 |
|
|
75 |
self.add_data(kwargs, 'available') |
|
79 | 76 |
CommissionException.__init__(self, *args, **kwargs) |
80 | 77 |
|
81 | 78 |
|
Also available in: Unified diff