summaryrefslogtreecommitdiffstats
path: root/ext/solus/lib
diff options
context:
space:
mode:
authormakefu <github@syntax-fehler.de>2013-03-07 11:40:38 +0100
committermakefu <github@syntax-fehler.de>2013-03-07 11:40:38 +0100
commit7fa8fb85b072f612adb322f8a02617e1bd737020 (patch)
tree683df8268baae71451633518aa7ff7ea258a4aa8 /ext/solus/lib
parentdbe2d838ba6834788265029162b2dd7d82473335 (diff)
parentef4eb3189363f5cd9a33b43693322a68d3142979 (diff)
Merge branch 'master' of github.com:krebscode/painload
Diffstat (limited to 'ext/solus/lib')
-rwxr-xr-xext/solus/lib/parse-return-data20
1 files changed, 20 insertions, 0 deletions
diff --git a/ext/solus/lib/parse-return-data b/ext/solus/lib/parse-return-data
new file mode 100755
index 00000000..85219727
--- /dev/null
+++ b/ext/solus/lib/parse-return-data
@@ -0,0 +1,20 @@
+#! /bin/sh
+set -euf
+sed '
+ # transform "XML" into lines {key}<tab>{value}-lines
+ s|</[^>]*>|\n|g
+ s|<\([^>]*\)>|\1\t|g
+' |
+sed '
+ # transform ipaddr list into multiple ipaddr_[46]<tab>{ipaddr}-lines
+ /^ipaddr\t/{
+ s|,|\nipaddr\t|g
+ s/\t\([0-9]*[.]\)/_4&/g
+ s/\t\([0-9]*[:]\)/_6&/g
+ }
+ # parse CSVs into multiple lines with proper labels
+ s:^\(hdd\|mem\|bw\)\t\([^,]*\),\([^,]*\),\([^,]*\),\([^,]*\)$:\1_total\t\2\
+\1_used\t\3\
+\1_free\t\4\
+\1_percentused\t\5:
+'