diff options
Diffstat (limited to 'lib/remote/report.sh')
-rw-r--r-- | lib/remote/report.sh | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/lib/remote/report.sh b/lib/remote/report.sh new file mode 100644 index 0000000..e6766a4 --- /dev/null +++ b/lib/remote/report.sh @@ -0,0 +1,51 @@ +function simple_report { + local generator="$1" + local filter="${2:-cat}" + { + eval "$generator 12>/dev/fd/12 | $filter" + report=$(cat<&12) + } 12<<EOF +EOF + wait +} + + +function short_report { + local generator="$1" + local filter="${2:-print_table | decorate_table}" + + configure_palete "$palete" + simple_report "$generator" "$filter" + finish +} + + +function standart_report { + local generator="$1" + local filter="${2:-print_table | decorate_table}" + + configure_palete "$palete" + simple_report "$generator" "$filter" + + print "$report" + echo + finish +} + + +function report { + # Eval breaks output for some reason + case $report in + simple_report) + simple_report "$@" + ;; + short_report) + short_report "$@" + ;; + standart_report) + standart_report "$@" + ;; + default) + echo "Report is not implemented" + esac +} |