Merge branch 'resource-usage'
This commit is contained in:
commit
c2a262ff17
|
@ -153,16 +153,37 @@ class DatabaseService(OrchestraModel):
|
|||
if 'users' in data:
|
||||
users = [DatabaseUser.new_from_json(user_data) for user_data in data['users']]
|
||||
|
||||
# TODO(@slamora) retrieve database usage
|
||||
usage = {
|
||||
'usage': 250,
|
||||
'total': 500,
|
||||
'unit': 'MB',
|
||||
'percent': 50,
|
||||
}
|
||||
usage = cls.get_usage(data)
|
||||
|
||||
return super().new_from_json(data=data, users=users, usage=usage)
|
||||
|
||||
@classmethod
|
||||
def get_usage(self, data):
|
||||
try:
|
||||
resources = data['resources']
|
||||
resource_disk = {}
|
||||
for r in resources:
|
||||
if r['name'] == 'disk':
|
||||
resource_disk = r
|
||||
break
|
||||
|
||||
details = {
|
||||
'usage': float(resource_disk['used']),
|
||||
'total': resource_disk['allocated'],
|
||||
'unit': resource_disk['unit'],
|
||||
}
|
||||
except (IndexError, KeyError):
|
||||
return {}
|
||||
|
||||
|
||||
percent = get_bootstraped_percent(
|
||||
details['usage'],
|
||||
details['total']
|
||||
)
|
||||
details['percent'] = percent
|
||||
|
||||
return details
|
||||
|
||||
|
||||
class Domain(OrchestraModel):
|
||||
api_name = 'domain'
|
||||
|
|
|
@ -67,3 +67,6 @@ class GetBootstrapedPercentTest(TestCase):
|
|||
value = get_bootstraped_percent(-10, 100)
|
||||
self.assertIn(value, self.BS_WIDTH)
|
||||
self.assertEqual(value, 0)
|
||||
|
||||
def test_invalid_total_is_zero(self):
|
||||
value = get_bootstraped_percent(25, 0)
|
||||
|
|
|
@ -4,8 +4,11 @@ def get_bootstraped_percent(value, total):
|
|||
|
||||
Useful to set progress bar width using CSS classes (e.g. w-25)
|
||||
"""
|
||||
try:
|
||||
percent = value / total
|
||||
except ZeroDivisionError:
|
||||
return 0
|
||||
|
||||
percent = value / total
|
||||
bootstraped = round(percent * 4) * 100 // 4
|
||||
|
||||
# handle min and max boundaries
|
||||
|
|
Loading…
Reference in New Issue