alsa-info.sh: Warn after actual upload failure; do not ping server

Check the return value of wget to determine if the upload actually
failed. If so, display the message about upload failure, then exit.

Do not ping the web server; the result does not indicate whether a
file upload will succeed or not.

Signed-off-by: David Ward <david.ward@ll.mit.edu>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
David Ward 2019-12-21 00:32:11 -05:00 committed by Takashi Iwai
parent fe322c46e6
commit 27b5c6c19c

View file

@ -35,22 +35,12 @@ BGTITLE="ALSA-Info v $SCRIPT_VERSION"
PASTEBINKEY="C9cRIO8m/9y8Cs0nVs0FraRx7U0pHsuc" PASTEBINKEY="C9cRIO8m/9y8Cs0nVs0FraRx7U0pHsuc"
WGET=$(which wget 2>/dev/null | sed 's|^[^/]*||' 2>/dev/null) WGET=$(which wget 2>/dev/null | sed 's|^[^/]*||' 2>/dev/null)
REQUIRES="mktemp grep pgrep whereis ping awk date uname cat sort dmesg amixer alsactl" REQUIRES="mktemp grep pgrep whereis awk date uname cat sort dmesg amixer alsactl"
# #
# Define some simple functions # Define some simple functions
# #
pbcheck() {
[[ $UPLOAD = "no" ]] && return
if [[ -z $PASTEBIN ]]; then
[[ $(ping -c1 www.alsa-project.org) ]] || KEEP_FILES="yes" UPLOAD="no" PBERROR="yes"
else
[[ $(ping -c1 www.pastebin.ca) ]] || KEEP_FILES="yes" UPLOAD="no" PBERROR="yes"
fi
}
update() { update() {
test -z "$WGET" -o ! -x "$WGET" && return test -z "$WGET" -o ! -x "$WGET" && return
@ -650,7 +640,6 @@ fi
#If no command line options are specified, then run as though --with-all was specified #If no command line options are specified, then run as though --with-all was specified
if [ -z "$1" ]; then if [ -z "$1" ]; then
update update
pbcheck
fi fi
fi # proceed fi # proceed
@ -662,7 +651,6 @@ if [ -n "$1" ]; then
case "$1" in case "$1" in
--pastebin) --pastebin)
update update
pbcheck
;; ;;
--update) --update)
update update
@ -832,26 +820,12 @@ if [ "$UPLOAD" = "no" ]; then
if [[ -n $DIALOG ]] if [[ -n $DIALOG ]]
then then
if [[ -n $PBERROR ]]; then
dialog --backtitle "$BGTITLE" --title "Information collected" --msgbox "An error occurred while contacting the $WWWSERVICE.\n Your information was NOT automatically uploaded.\n\nYour ALSA information is in $NFILE" 10 100
else
dialog --backtitle "$BGTITLE" --title "Information collected" --msgbox "\n\nYour ALSA information is in $NFILE" 10 60 dialog --backtitle "$BGTITLE" --title "Information collected" --msgbox "\n\nYour ALSA information is in $NFILE" 10 60
fi
else
echo
if [[ -n $PBERROR ]]; then
echo "An error occurred while contacting the $WWWSERVICE."
echo "Your information was NOT automatically uploaded."
echo ""
echo "Your ALSA information is in $NFILE"
echo ""
else else
echo "" echo ""
echo "Your ALSA information is in $NFILE" echo "Your ALSA information is in $NFILE"
echo "" echo ""
fi fi
fi
exit exit
@ -865,9 +839,27 @@ else
fi fi
if [[ -z $PASTEBIN ]]; then if [[ -z $PASTEBIN ]]; then
wget -O - --tries=5 --timeout=60 --post-file=$FILE "http://www.alsa-project.org/cardinfo-db/" &>$TEMPDIR/wget.tmp || echo "Upload failed; exit" wget -O - --tries=5 --timeout=60 --post-file=$FILE "http://www.alsa-project.org/cardinfo-db/" &>$TEMPDIR/wget.tmp
else else
wget -O - --tries=5 --timeout=60 --post-file=$FILE "http://pastebin.ca/quiet-paste.php?api=$PASTEBINKEY&encrypt=t&encryptpw=blahblah" &>$TEMPDIR/wget.tmp || echo "Upload failed; exit" wget -O - --tries=5 --timeout=60 --post-file=$FILE "http://pastebin.ca/quiet-paste.php?api=$PASTEBINKEY&encrypt=t&encryptpw=blahblah" &>$TEMPDIR/wget.tmp
fi
if [ $? -ne 0 ]; then
mv -f $FILE $NFILE || exit 1
KEEP_OUTPUT="yes"
if [ -n "$DIALOG" ]; then
dialog --backtitle "$BGTITLE" --title "Information not uploaded" --msgbox "An error occurred while contacting $WWWSERVICE.\n Your information was NOT automatically uploaded.\n\nYour ALSA information is in $NFILE" 10 100
else
echo ""
echo "An error occurred while contacting $WWWSERVICE."
echo "Your information was NOT automatically uploaded."
echo ""
echo "Your ALSA information is in $NFILE"
echo ""
fi
exit
fi fi
if [ -n "$DIALOG" ]; then if [ -n "$DIALOG" ]; then