Implemented logging functions

This commit is contained in:
Tristan Ancelet 2023-11-18 19:32:42 -06:00
parent 02dbe5e0eb
commit a734bbf83b

View File

@ -2,6 +2,7 @@
# BEGIN: Variables # BEGIN: Variables
DEBUG=1
ACTION="" ACTION=""
DOWNLOAD_URL='https://discord.com/api/download/stable?platform=linux&format=tar.gz' DOWNLOAD_URL='https://discord.com/api/download/stable?platform=linux&format=tar.gz'
VERSION_REGEX='[0-9]+\.[0-9]+\.[0-9]+' VERSION_REGEX='[0-9]+\.[0-9]+\.[0-9]+'
@ -19,6 +20,12 @@ DESKTOP_FILE_INSTALLED=0
# BEGIN: Helper Functions # BEGIN: Helper Functions
function log () {
if [[ $DEBUG -eq 1 ]]; then local DATE=`date` local MESSAGE="${1:?"log: Message not provided"}"
echo "$DATE : $MESSAGE"
fi
}
function get_remote_version(){ function get_remote_version(){
local REMOTE_VERSION=`curl $DOWNLOAD_URL | grep -Eo $VERSION_REGEX | head -n 1` local REMOTE_VERSION=`curl $DOWNLOAD_URL | grep -Eo $VERSION_REGEX | head -n 1`
@ -26,7 +33,7 @@ function get_remote_version(){
echo "$REMOTE_VERSION" echo "$REMOTE_VERSION"
return 0 return 0
else else
echo "error: remote version not found" log "error: remote version not found"
return 1 return 1
fi fi
} }
@ -36,17 +43,19 @@ function do_download(){
## If the provided version doesn't match the format #.#.# ## If the provided version doesn't match the format #.#.#
if [[ ! "$VERSION" =~ ^$VERSION_REGEX$ ]]; then if [[ ! "$VERSION" =~ ^$VERSION_REGEX$ ]]; then
echo "do_download : the version ($VERSION) provided, does not match format $VERSION_REGEX." log "do_download : the version ($VERSION) provided, does not match format $VERSION_REGEX."
exit 2 exit 2
fi fi
## Making the URL to download the package ## Making the URL to download the package
### replacing all {VERSION} in PACKAGE_DOWNLOAD_URL_BASE with $REMOTE_VERSION using string substitution ### replacing all {VERSION} in PACKAGE_DOWNLOAD_URL_BASE with $REMOTE_VERSION using string substitution
PACKAGE_DOWNLOAD_URL="${PACKAGE_DOWNLOAD_URL_BASE//\{VERSION\}/$REMOTE_VERSION}" PACKAGE_DOWNLOAD_URL="${PACKAGE_DOWNLOAD_URL_BASE//\{VERSION\}/$REMOTE_VERSION}"
log "Download url created ($PACKAGE_DOWNLOAD_URL)"
## Getting filename from url ## Getting filename from url
### Removing all characters from the last / back to leave only the filename ### Removing all characters from the last / back to leave only the filename
FILENAME="${PACKAGE_DOWNLOAD_URL/*\/}" FILENAME="${PACKAGE_DOWNLOAD_URL/*\/}"
log "File was downloaded as $FILENAME"
## Downloading the discord package (tar.gz) ## Downloading the discord package (tar.gz)
curl "$PACKAGE_DOWNLOAD_URL" -o "$FILENAME" >/dev/null 2>&1 curl "$PACKAGE_DOWNLOAD_URL" -o "$FILENAME" >/dev/null 2>&1
@ -54,6 +63,8 @@ function do_download(){
function update_desktop_file() { function update_desktop_file() {
log "Updating desktop file"
## Desktop file in the current/new install ## Desktop file in the current/new install
DESKTOP_FILE=$EXISTING_INSTALL/discord.desktop DESKTOP_FILE=$EXISTING_INSTALL/discord.desktop
@ -75,6 +86,7 @@ function update_desktop_file() {
## Pushing replacement values to desktop file ## Pushing replacement values to desktop file
echo -e "$DESKTOP_FILE_CONTENTS" > $DESKTOP_FILE echo -e "$DESKTOP_FILE_CONTENTS" > $DESKTOP_FILE
log "Desktop file has been updated"
} }
@ -89,8 +101,8 @@ function do_install() {
if [[ -f $FILENAME ]]; then if [[ -f $FILENAME ]]; then
tar xf "$FILENAME" tar xf "$FILENAME"
else else
echo "$FILENAME failed to download. Exiting now" log "$FILENAME failed to download. Exiting now"
exit 1 exit 3
fi fi
update_desktop_file update_desktop_file
@ -137,11 +149,13 @@ function do_upgrade(){
if [[ -d $EXISTING_INSTALL ]] && [[ -f $BUILD_FILE ]]; then if [[ -d $EXISTING_INSTALL ]] && [[ -f $BUILD_FILE ]]; then
LOCAL_VERSION=`grep -Eo $VERSION_REGEX $BUILD_FILE` LOCAL_VERSION=`grep -Eo $VERSION_REGEX $BUILD_FILE`
log "Local version was found to be ($LOCAL_VERSION)"
else else
ACTION=INSTALL ACTION=INSTALL
fi fi
REMOTE_VERSION=`get_remote_version` REMOTE_VERSION=`get_remote_version`
log "Retrieved remote version ($REMOTE_VERSION)"
# END: Pre-Work Check # END: Pre-Work Check