From d91667ac52de01adb242133853472712197179aa Mon Sep 17 00:00:00 2001 From: RandomNinjaAtk Date: Wed, 14 Dec 2022 09:51:44 -0500 Subject: [PATCH] 1.0.005 - Improve connection validation Based on: https://github.com/RandomNinjaAtk/docker-lidarr-extended/issues/161 --- root/scripts/PlexNotify.bash | 30 ++++++++++++++++++++---------- 1 file changed, 20 insertions(+), 10 deletions(-) diff --git a/root/scripts/PlexNotify.bash b/root/scripts/PlexNotify.bash index 4f3de51..509e525 100644 --- a/root/scripts/PlexNotify.bash +++ b/root/scripts/PlexNotify.bash @@ -1,5 +1,5 @@ #!/usr/bin/env bash -scriptVersion="1.0.004" +scriptVersion="1.0.005" notfidedBy="Sonarr" arrRootFolderPath="$(dirname "$sonarr_series_path")" arrFolderPath="$sonarr_series_path" @@ -43,17 +43,27 @@ if [ "$arrEventType" == "Test" ]; then exit 0 fi -# Validate connection -plexVersion=$(curl -s "$plexUrl/?X-Plex-Token=$plexToken" | xq . | jq -r '.MediaContainer."@version"') -if [ $plexVersion = null ]; then - log "$notfidedBy :: ERROR :: Cannot communicate with Plex" - log "$notfidedBy :: ERROR :: Please check your plexUrl and plexToken" - log "$notfidedBy :: ERROR :: Configured plexUrl \"$plexUrl\"" - log "$notfidedBy :: ERROR :: Configured plexToken \"$plexToken\"" - log "$notfidedBy :: ERROR :: Exiting..." +plexConnectionError () { + log "ERROR :: Cannot communicate with Plex" + log "ERROR :: Please check your plexUrl and plexToken" + log "ERROR :: Configured plexUrl \"$plexUrl\"" + log "ERROR :: Configured plexToken \"$plexToken\"" + log "ERROR :: Exiting..." exit +} + +# Validate connection +if curl -s "$plexUrl/?X-Plex-Token=$plexToken" | xq . &>/dev/null; then + plexVersion=$(curl -s "$plexUrl/?X-Plex-Token=$plexToken" | xq . | jq -r '.MediaContainer."@version"') + if [ "$plexVersion" == "null" ]; then + # Error out if version is null, indicates bad token + plexConnectionError + else + log "Plex Connection Established, version: $plexVersion" + fi else - log "$notfidedBy :: Plex Connection Established, version: $plexVersion" + # Error out if error in curl | xq . command output + plexConnectionError fi plexLibraries="$(curl -s "$plexUrl/library/sections?X-Plex-Token=$plexToken")"