summaryrefslogtreecommitdiff
path: root/src/op_mode/storage.py
diff options
context:
space:
mode:
authorViacheslav Hletenko <v.gletenko@vyos.io>2022-11-02 14:55:27 +0200
committerViacheslav Hletenko <v.gletenko@vyos.io>2022-11-02 12:59:57 +0000
commit46eda54c88ae96ed1f4aaa9ce56c505ed837f3d7 (patch)
tree852b802c592919fec3fe66c14dd2f4aaaf8fd7ed /src/op_mode/storage.py
parent738641a6c66d22c09b8c028ee3d8a90527d9701f (diff)
parentf2ec92a78c4ee2a35e7d071387460fc6ce360740 (diff)
downloadvyos-1x-46eda54c88ae96ed1f4aaa9ce56c505ed837f3d7.tar.gz
vyos-1x-46eda54c88ae96ed1f4aaa9ce56c505ed837f3d7.zip
T4758: Fix conflicts op-mode-standardized
Diffstat (limited to 'src/op_mode/storage.py')
-rwxr-xr-xsrc/op_mode/storage.py18
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():