1.0.009 - Move to functions, bugfix for NotifyPlex

pull/24/head
RandomNinjaAtk 2 years ago committed by GitHub
parent 34ac1d2aa5
commit 361cd4a300
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -1,5 +1,5 @@
#!/usr/bin/env bash
scriptVersion="1.0.008"
scriptVersion="1.0.009"
arrEventType="$sonarr_eventtype"
arrItemId=$sonarr_series_id
tmdbApiKey="3b7751e3179f796565d88fdb2fcdf426"
@ -48,13 +48,14 @@ fi
exec &>> "/config/logs/Extras.txt"
chmod 666 "/config/logs/Extras.txt"
# Check to see if Extras are enabled via ENV
if [ "$enableExtras" != "true" ]; then
log "Script disabled, exiting..."
log "Enable by setting enableExtras=true"
exit
fi
# Get series information
arrItemData=$(curl -s "$arrUrl/api/v3/series/$arrItemId?apikey=$arrApiKey")
itemTitle=$(echo "$arrItemData" | jq -r .title)
itemHasFile=$(echo "$arrItemData" | jq -r .hasFile)
@ -62,32 +63,26 @@ itemPath="$(echo "$arrItemData" | jq -r ".path")"
imdbId="$(echo "$arrItemData" | jq -r ".imdbId")"
tmdbId=$(curl -s "https://api.themoviedb.org/3/find/$imdbId?api_key=$tmdbApiKey&external_source=imdb_id" | jq -r .tv_results[].id)
# Check if series folder path exists
if [ ! -d "$itemPath" ]; then
log "$itemTitle :: ERROR: Item Path does not exist ($itemPath), Skipping..."
exit
fi
DownloadExtras () {
if find /config -type f -name "cookies.txt" | read; then
# Check for cookies file
if find /config -type f -name "cookies.txt" | read; then
cookiesFile="$(find /config -type f -iname "cookies.txt" | head -n1)"
log "$itemTitle :: Cookies File Found!"
else
else
log "$itemTitle :: Cookies File Not Found!"
cookiesFile=""
fi
if [ -f "/config/extended/logs/extras/$tmdbId" ]; then
find "/config/extended/logs/extras" -type f -mtime +7 -name "$tmdbId" -delete
fi
if [ -f "/config/extended/logs/extras/$tmdbId" ]; then
log "$itemTitle :: Already processed Extras, waiting 7 days to re-check..."
exit
fi
if [ ! -d "$itemPath" ]; then
log "$itemTitle :: ERROR: Item Path does not exist ($itemPath), Skipping..."
exit
fi
fi
IFS=',' read -r -a filters <<< "$extrasLanguages"
for filter in "${filters[@]}"
do
IFS=',' read -r -a filters <<< "$extrasLanguages"
for filter in "${filters[@]}"
do
tmdbVideosListData=$(curl -s "https://api.themoviedb.org/3/tv/$tmdbId/videos?api_key=$tmdbApiKey&language=$filter" | jq -r '.results[] | select(.site=="YouTube")')
log "$itemTitle :: Searching for \"$filter\" extras..."
if [ "$extrasType" == "all" ]; then
@ -182,19 +177,22 @@ do
fi
updatePlex="true"
done
done
done
# Mark Complete
if [ ! -d "/config/extended/logs/extras" ]; then
# Mark Series Extras Complete
if [ ! -d "/config/extended/logs/extras" ]; then
mkdir -p "/config/extended/logs/extras"
chmod 777 "/config/extended/logs/extras"
fi
log "$itemTitle :: Marking/logging as Extras downloads complete (/config/extended/logs/extras/$tmdbId)"
touch "/config/extended/logs/extras/$tmdbId"
chmod 666 "/config/extended/logs/extras/$tmdbId"
fi
log "$itemTitle :: Marking/logging as Extras downloads complete (/config/extended/logs/extras/$tmdbId)"
touch "/config/extended/logs/extras/$tmdbId"
chmod 666 "/config/extended/logs/extras/$tmdbId"
# Process item with PlexNotify.bash if plexToken is configured
if [ ! -z "$plexToken" ]; then
}
NotifyPlex () {
# Process item with PlexNotify.bash if plexToken is configured
if [ ! -z "$plexToken" ]; then
# Always update plex if extra is downloaded
if [ "$updatePlex" == "true" ]; then
log "$itemTitle :: Using PlexNotify.bash to update Plex...."
@ -211,7 +209,22 @@ if [ ! -z "$plexToken" ]; then
bash /config/extended/scripts/PlexNotify.bash "$itemPath"
exit
fi
fi
}
# Check if series has been previously processed
if [ -f "/config/extended/logs/extras/$tmdbId" ]; then
# Delete log file older than 7 days, to allow re-processing
find "/config/extended/logs/extras" -type f -mtime +7 -name "$tmdbId" -delete
fi
if [ -f "/config/extended/logs/extras/$tmdbId" ]; then
log "$itemTitle :: Already processed Extras, waiting 7 days to re-check..."
NotifyPlex
exit
else
DownloadExtras
NotifyPlex
fi
exit

Loading…
Cancel
Save