diff options
author | Daniil Baturin <daniil@baturin.org> | 2023-02-08 16:43:52 +0000 |
---|---|---|
committer | Daniil Baturin <daniil@baturin.org> | 2023-02-08 16:44:35 +0000 |
commit | 89191003df19e81869882a7eb673499b36ce1e63 (patch) | |
tree | f43a901fb2a8fab4e421ab44f405a9e2b0654f75 /python/vyos/template.py | |
parent | 6b9b36db47a44b688c0bf08649845012a2b13f67 (diff) | |
download | vyos-1x-89191003df19e81869882a7eb673499b36ce1e63.tar.gz vyos-1x-89191003df19e81869882a7eb673499b36ce1e63.zip |
vyos.template: T4988: add bytes and seconds conversion filters
Diffstat (limited to 'python/vyos/template.py')
-rw-r--r-- | python/vyos/template.py | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/python/vyos/template.py b/python/vyos/template.py index 15240f815..6367f51e5 100644 --- a/python/vyos/template.py +++ b/python/vyos/template.py @@ -1,4 +1,4 @@ -# Copyright 2019-2022 VyOS maintainers and contributors <maintainers@vyos.io> +# Copyright 2019-2023 VyOS maintainers and contributors <maintainers@vyos.io> # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -158,6 +158,24 @@ def force_to_list(value): else: return [value] +@register_filter('seconds_to_human') +def seconds_to_human(seconds, separator=""): + """ Convert seconds to human-readable values like 1d6h15m23s """ + from vyos.util import seconds_to_human + return seconds_to_human(seconds, separator=separator) + +@register_filter('bytes_to_human') +def bytes_to_human(bytes, initial_exponent=0, precision=2): + """ Convert bytes to human-readable values like 1.44M """ + from vyos.util import bytes_to_human + return bytes_to_human(bytes, initial_exponent=initial_exponent, precision=precision) + +@register_filter('human_to_bytes') +def human_to_bytes(value): + """ Convert a data amount with a unit suffix to bytes, like 2K to 2048 """ + from vyos.util import human_to_bytes + return human_to_bytes(value) + @register_filter('ip_from_cidr') def ip_from_cidr(prefix): """ Take an IPv4/IPv6 CIDR host and strip cidr mask. |