diff options
| author | Daniil Baturin <daniil@vyos.io> | 2022-10-28 10:39:17 -0400 | 
|---|---|---|
| committer | Daniil Baturin <daniil@vyos.io> | 2022-10-28 10:39:17 -0400 | 
| commit | b8b752d5b3503f2874a490582e212edd38c902fc (patch) | |
| tree | c458d27ebf9e3ae90d7c754bc39fe6da1fca9114 | |
| parent | 3f75a38abe3e97ff243d01931a4defe8f4eef98a (diff) | |
| download | vyos-1x-b8b752d5b3503f2874a490582e212edd38c902fc.tar.gz vyos-1x-b8b752d5b3503f2874a490582e212edd38c902fc.zip | |
T4779: switch raw output of "show system storage" to bytes
| -rwxr-xr-x | src/op_mode/storage.py | 18 | 
1 files changed, 18 insertions, 0 deletions
| diff --git a/src/op_mode/storage.py b/src/op_mode/storage.py index 75964c493..d16e271bd 100755 --- a/src/op_mode/storage.py +++ b/src/op_mode/storage.py @@ -20,6 +20,16 @@ import sys  import vyos.opmode  from vyos.util import cmd +# FIY: As of coreutils from Debian Buster and Bullseye, +# the outpt looks like this: +# +# $ df -h -t ext4 --output=source,size,used,avail,pcent +# Filesystem      Size  Used Avail Use% +# /dev/sda1        16G  7.6G  7.3G  51% +# +# Those field names are automatically normalized by vyos.opmode.run, +# so we don't touch them here, +# and only normalize values.  def _get_system_storage(only_persistent=False):      if not only_persistent: @@ -32,11 +42,19 @@ def _get_system_storage(only_persistent=False):      return res  def _get_raw_data(): +    from re import sub as re_sub +    from vyos.util import human_to_bytes +      out =  _get_system_storage(only_persistent=True)      lines = out.splitlines()      lists = [l.split() for l in lines]      res = {lists[0][i]: lists[1][i] for i in range(len(lists[0]))} +    res["Size"] = human_to_bytes(res["Size"]) +    res["Used"] = human_to_bytes(res["Used"]) +    res["Avail"] = human_to_bytes(res["Avail"]) +    res["Use%"] = re_sub(r'%', '', res["Use%"]) +      return res  def _get_formatted_output(): | 
