gitea_get_notifications.sh: split outputs into pices

This commit is contained in:
Oliver Schraml 2022-01-26 13:38:53 +01:00 committed by suchademon
parent 19a803edf6
commit 2301757eb9
Signed by: oliver.schraml
GPG Key ID: A55864B79D0D0228
1 changed files with 48 additions and 36 deletions

View File

@ -1,10 +1,14 @@
#!/bin/bash #!/bin/bash
myuser="${1}" myuser="${1}"
gettype="${2:-merged}"
markmineread=false markmineread=false
open_count=0 open_count=0
merge_count=0 merge_count=0
open_notis_count=0 open_notis_count=0
fcount=0
if [ "${gettype}" == "merged" ]; then
open_noti=$(tea notification ls --mine | grep -E "^\| +[0-9]+.* Pull .* open " | sed -E 's/[ \|]/@@/g;s/@@+/@@/g;s/^@@//g;s/@@$//g') open_noti=$(tea notification ls --mine | grep -E "^\| +[0-9]+.* Pull .* open " | sed -E 's/[ \|]/@@/g;s/@@+/@@/g;s/^@@//g;s/@@$//g')
for merged_noti in $(tea notification ls --mine | grep -E "^\| +[0-9]+.* Pull .* merged " | sed -E 's/[ \|]/@@/g;s/@@+/@@/g;s/^@@//g;s/@@$//g'); do for merged_noti in $(tea notification ls --mine | grep -E "^\| +[0-9]+.* Pull .* merged " | sed -E 's/[ \|]/@@/g;s/@@+/@@/g;s/^@@//g;s/@@$//g'); do
@ -33,12 +37,17 @@ for merged_noti in $(tea notification ls --mine | grep -E "^\| +[0-9]+.* Pull .*
fi fi
done done
fi
if [ "${gettype}" == "open_all" ]; then
open_notis=$(tea notification ls --mine | grep -E "^\| +[0-9]+.* Pull .* open " | sed -E 's/[ \|]/@@/g;s/@@+/@@/g;s/^@@//g;s/@@$//g') open_notis=$(tea notification ls --mine | grep -E "^\| +[0-9]+.* Pull .* open " | sed -E 's/[ \|]/@@/g;s/@@+/@@/g;s/^@@//g;s/@@$//g')
if [ -n "${open_notis}" ]; then if [ -n "${open_notis}" ]; then
open_notis_count=$(wc -l <<<"${open_notis}") open_notis_count=$(wc -l <<<"${open_notis}")
fi fi
fi
if [ "${gettype}" == "open" ]; then
open_notis=$(tea notification ls --mine | grep -E "^\| +[0-9]+.* Pull .* open " | sed -E 's/[ \|]/@@/g;s/@@+/@@/g;s/^@@//g;s/@@$//g')
for open_noti in ${open_notis}; do for open_noti in ${open_notis}; do
noti_id="$(grep -oE "^[0-9]+" <<<"${open_noti}")" noti_id="$(grep -oE "^[0-9]+" <<<"${open_noti}")"
noti_pr_id="$(grep -oE '@@#[0-9]+@@' <<<"${open_noti}" | sed -e 's/[@#]//g')" noti_pr_id="$(grep -oE '@@#[0-9]+@@' <<<"${open_noti}" | sed -e 's/[@#]//g')"
@ -49,16 +58,19 @@ for open_noti in ${open_notis}; do
let open_count+=1 let open_count+=1
fi fi
done done
fi
i3status_state="Idle" i3status_state="Idle"
if [ $merge_count -gt 0 ]; then if [ $merge_count -gt 0 ]; then
i3status_state="Critical" i3status_state="Critical"
fcount=${merge_count}
elif [ $open_count -gt 0 ]; then elif [ $open_count -gt 0 ]; then
open_notis_count=$((open_notis_count - open_count))
i3status_state="Warning" i3status_state="Warning"
fcount=${open_count}
elif [ $open_notis_count -gt 0 ]; then elif [ $open_notis_count -gt 0 ]; then
i3status_state="Info" i3status_state="Info"
fcount=${open_notis_count}
fi fi
echo "{\"state\":\"${i3status_state}\", \"text\":\"GT: ${open_notis_count}/${open_count}/${merge_count}\"}" echo "{\"state\":\"${i3status_state}\", \"text\":\"${fcount}\"}"