Pārlūkot izejas kodu

Merge pull request #1028 from jlucas8/error-handling

Handle sync errors (set exit code accordingly)
master
Luke Smith pirms 22 stundām
committed by GitHub
vecāks
revīzija
1b98bbc3be
Šim parakstam datu bāzē netika atrasta zināma atslēga GPG atslēgas ID: B5690EEEBB952194
1 mainītis faili ar 24 papildinājumiem un 5 dzēšanām
  1. +24
    -5
      bin/mailsync

+ 24
- 5
bin/mailsync Parādīt failu

@@ -58,7 +58,7 @@ syncandnotify() {
case "$1" in
imap) mbsync -q "$2" ;;
pop) mpop -q "$2" ;;
esac
esac || return 1
new=$(find\
"$HOME/.local/share/mail/$2/"[Ii][Nn][Bb][Oo][Xx]/new/ \
"$HOME/.local/share/mail/$2/"[Ii][Nn][Bb][Oo][Xx]/cur/ \
@@ -100,15 +100,34 @@ else
done || echo "error $arg"; done)"
fi

pids= # PIDs of backgrounded subshells
count=0 # number of accounts in $tosync
failed=0 # number of failed sync attempts
for account in $tosync; do
count=$((count+1))
case $account in
Channel*) syncandnotify imap "${account##* }" & ;;
account*) syncandnotify pop "${account##* }" & ;;
error*) echo "ERROR: Account ${account##* } not found." ;;
Channel*)
syncandnotify imap "${account##* }" &
pids="$pids $!"
;;
account*)
syncandnotify pop "${account##* }" &
pids="$pids $!"
;;
error*)
echo "ERROR: Account ${account##* } not found."
failed=$((failed+1))
;;
esac
done

wait
IFS=' '
for pid in $pids; do
wait $pid || failed=$((failed+1))
done

# Abort if no account sync succeeded
[ "$count" -gt "$failed" ] || exit 1

notmuch new --quiet



Notiek ielāde…
Atcelt
Saglabāt