1
0
Fork 0
mirror of https://github.com/Jonny007-MKD/OTR-SaneRename synced 2024-05-08 21:54:04 +02:00

Cleaned up exit codes

Search for correct EPG data in while loop. We could not differentiate between start and stop time in grep
This commit is contained in:
Jonny007-MKD 2014-08-03 16:51:21 +02:00
parent c2cca9c614
commit b99dc140b9

View file

@ -1,6 +1,15 @@
#!/bin/bash
# TODO: Umlaute werden beim Download der xml über alle serien nicht richtig übergeben. evtl mit %-Code arbeiten
# Exit codes:
# 1 : General error (invalid argument option, missing parameter)
# 2 : Specified language not recognized
# 3 : Aborted (Ctrl+C)
# 10 : Series not found in TvDB
# 11 : Series not found in EPG
# 20 : No info for this episode found
# 21 : No episode title found in EPG
# 40 : Downloading EPG data failed
# 41 : Downloading list of episodes from TvDB failed
##########
# Config #
@ -27,7 +36,7 @@ function ctrl_c() {
if $wget_running; then
rm -f $wget_file
fi
exit 40
exit 3
}
wget_running=false;
@ -51,14 +60,14 @@ function funcParam {
lang="fr";;
*)
echo "Language not recognized: $OPTARG"
exit 11;;
exit 2;;
esac;;
"?") # Help
echo "Usage: $0 -f pathToAvi [-s] [-l LANG]"
exit;;
":")
echo "No argument value for option $OPTARG"
exit;;
exit 1;;
esac
done
}
@ -119,7 +128,7 @@ function funcGetSeriesId {
fi
if [ -z "$series_id" ]; then # This series was not found anywhere :(
eecho -e " TVDB:\tSeries not found!"
exit 30
exit 10
fi
eecho -e " \t\t\tName:\t$series_title"
@ -202,20 +211,23 @@ function funcGetEPG {
error=$?
if [ $error -ne 0 ]; then
eecho "Downloading $epg_csv failed (Exit code: $error)!"
exit 4
exit 40
fi
fi
epg="$(grep "$series_title" "$wget_file" | grep "${file_time}")" # Get the line with the movie
if [ -z "$epg" ]; then
eecho -e " EPG:\tSeries \"$series_title\" not found in EPG data" # This cannot happen :)
exit 5
exit 11
fi
# Parse EPG data using read
OLDIFS=$IFS
OLDIFS=$IF
IFS=";"
read epg_id epg_start epg_end epg_duration epg_sender epg_title epg_type epg_text epg_genre epg_fsk epg_language epg_weekday epg_additional epg_rpt epg_downloadlink epg_infolink epg_programlink <<< "$epg"
while read epg_id epg_start epg_end epg_duration epg_sender epg_title epg_type epg_text epg_genre epg_fsk epg_language epg_weekday epg_additional epg_rpt epg_downloadlink epg_infolink epg_programlink; do
if [[ "$epg_start" == *$file_time* ]]; then # Use the one with the correct start time
break
fi
done <<< "$epg"
IFS=$OLDIFS
}
@ -224,9 +236,9 @@ function funcGetEpgEpisodeTitle {
episode_title="${epg_text%%$1*}" # Text begins with episode title, cut off the rest
if [ -z "$episode_title" ]; then
eecho -e " EPG:\tNo Episode title found"
exit 5
else
eecho -e " EPG:\tEpisode title:\t$episode_title" # We found some title :)
fi
eecho -e " EPG:\tEpisode title:\t$episode_title" # We found some title :)
}
# Download episodes list from TvDB, language as argument
@ -241,7 +253,7 @@ function funcGetEpisodes {
error=$?
if [ $error -ne 0 ]; then
eecho "Downloading $episode_db failed (Exit code: $error)!"
exit 6
exit 41
fi
fi
}
@ -322,7 +334,7 @@ function doIt {
if [ -z "$path" ]; then # If no path was specified (-f)
echo "Usage: $0 -f pathToAvi [-s] [-l LANG]"
exit 15
exit 1
fi
PwD=$(readlink -e $0) # Get the path to this script
@ -368,14 +380,21 @@ function doItEpisodes {
funcGetEpgEpisodeTitle "." # Get the episode title using . as delimiter
fi
funcGetEpisodes $1 # Download episodes file
funcGetEpisodeInfo
if [ -z "$episode_info" ] && ! $episode_title_set; then # No info found and delimiter , possible:
funcGetEpgEpisodeTitle "," # Try again with , as delimiter
if [ -n "$episode_title" ]; then
funcGetEpisodeInfo
fi
if [ -z "$episode_info" ] && ! $episode_title_set; then # No info found and delimiter , is possible:
funcGetEpgEpisodeTitle "," # Try again with , as delimiter
if [ -n "episode_title" ]; then # If we have got an episode title
funcGetEpisodeInfo
else
eecho -e " EPG:\tNo episode title found in EPG!"
exit 21
fi
fi
}
funcParam $@
doIt
exit 30
exit 20