Closes #6667: Display VM memory as GB/TB as appropriate

This commit is contained in:
jeremystretch 2021-06-29 14:00:16 -04:00
parent 18934bcc69
commit 18a9e39be6
3 changed files with 16 additions and 1 deletions

View File

@ -6,6 +6,7 @@
* [#6620](https://github.com/netbox-community/netbox/issues/6620) - Show assigned VMs count under device role view
* [#6666](https://github.com/netbox-community/netbox/issues/6666) - Show management-only status under interface detail view
* [#6667](https://github.com/netbox-community/netbox/issues/6667) - Display VM memory as GB/TB as appropriate
### Bug Fixes

View File

@ -138,7 +138,7 @@
<td><i class="mdi mdi-chip"></i> Memory</td>
<td>
{% if object.memory %}
{{ object.memory }} MB
<span title="{{ object.memory }} MB">{{ object.memory|humanize_megabytes }}</span>
{% else %}
<span class="text-muted">&mdash;</span>
{% endif %}

View File

@ -129,6 +129,20 @@ def humanize_speed(speed):
return '{} Kbps'.format(speed)
@register.filter()
def humanize_megabytes(mb):
"""
Express a number of megabytes in the most suitable unit (e.g. gigabytes or terabytes).
"""
if not mb:
return ''
if mb >= 1048576:
return f'{int(mb / 1048576)} TB'
if mb >= 1024:
return f'{int(mb / 1024)} GB'
return f'{mb} MB'
@register.filter()
def tzoffset(value):
"""