(Change Version)

Refactored script self updater error handling, removed duplicates and created single test cases.

Ok, enough is enough... heh, signing off now... enjoy, thanks to Cathbard for his patience, and 
and all the other people supporting this with their time.
This commit is contained in:
inxi-svn 2008-11-13 03:13:07 +00:00
parent c247bde8dd
commit 1a6888578b

25
inxi
View file

@ -1,7 +1,7 @@
#!/bin/bash #!/bin/bash
######################################################################## ########################################################################
#### Script Name: inxi #### Script Name: inxi
#### version: 0.5.23 #### version: 0.5.24
#### Date: November 11 2008 #### Date: November 11 2008
######################################################################## ########################################################################
#### inxi is a fork of infobash, the original bash sys info script by locsmif #### inxi is a fork of infobash, the original bash sys info script by locsmif
@ -709,26 +709,27 @@ print_version_info()
# note that $1 must end in / to properly construct the url path # note that $1 must end in / to properly construct the url path
script_self_updater() script_self_updater()
{ {
local wget_error=0
print_screen_output "Starting $SCRIPT_NAME self updater." print_screen_output "Starting $SCRIPT_NAME self updater."
print_screen_output "Currently running $SCRIPT_NAME version number: $SCRIPT_VERSION_NUMBER" print_screen_output "Currently running $SCRIPT_NAME version number: $SCRIPT_VERSION_NUMBER"
print_screen_output "Updating $SCRIPT_NAME in $SCRIPT_PATH using $2 as download source..." print_screen_output "Updating $SCRIPT_NAME in $SCRIPT_PATH using $2 as download source..."
# first test if path is good # first test if path is good, need to make sure it's good because we're -O overwriting file
wget -q --spider $1$SCRIPT_NAME wget -q --spider $1$SCRIPT_NAME || wget_error=$?
# then do the actual download, need to make sure it's good because we're -O overwriting file # then do the actual download
if [[ $? -eq 0 ]];then if [[ $wget_error -eq 0 ]];then
wget -q -O $SCRIPT_PATH/$SCRIPT_NAME $1$SCRIPT_NAME wget -q -O $SCRIPT_PATH/$SCRIPT_NAME $1$SCRIPT_NAME || wget_error=$?
if [[ $? -eq 0 ]];then if [[ $wget_error -eq 0 ]];then
SCRIPT_VERSION_NUMBER=$( grep -im 1 'version:' $SCRIPT_PATH/$SCRIPT_NAME | gawk '{print $3}' ) SCRIPT_VERSION_NUMBER=$( grep -im 1 'version:' $SCRIPT_PATH/$SCRIPT_NAME | gawk '{print $3}' )
print_screen_output "Successfully updated to $2 version: $SCRIPT_VERSION_NUMBER\nTo run the new version, just start $SCRIPT_NAME again." print_screen_output "Successfully updated to $2 version: $SCRIPT_VERSION_NUMBER\nTo run the new version, just start $SCRIPT_NAME again."
exit 0 exit 0
else
error_handler 8 "$?"
fi fi
else fi
# now run the error handlers on any wget failure
if [[ $wget_error -gt 0 ]];then
if [[ $2 == 'svn server' ]];then if [[ $2 == 'svn server' ]];then
error_handler 8 "$?" error_handler 8 "$wget_error"
elif [[ $2 == 'alt server' ]];then elif [[ $2 == 'alt server' ]];then
error_handler 10 "$OPTARG" error_handler 10 "$1"
else else
error_handler 12 "$1" error_handler 12 "$1"
fi fi