- Extract shared i18n.sh library with tr() function (replaces 5 duplicated text_lang functions) - Replace numeric IDs (001, 002, ...) with human-readable keys (already_started, delete, etc.) - Update all language files (en_US, en_GB, de_DE) to use named key format - Update all scripts (jdautoenc, rename, addrename, removerename, config) to use tr() from i18n.sh
134 lines
5.2 KiB
Bash
134 lines
5.2 KiB
Bash
#!/bin/bash
|
|
|
|
## Farben für das Log
|
|
|
|
white='\033[0;37m' # ${white}
|
|
yellow='\033[0;33m' # ${yellow}
|
|
purple='\033[0;35m' # ${purple}
|
|
blue='\033[0;34m' # ${blue}
|
|
lblue='\033[1;34m' # ${lblue}
|
|
cyan='\033[0;36m' # ${cyan}
|
|
|
|
## Rename Skript Pfad:
|
|
JDAutoConfig=$(find ~ -type f -name "JDAutoConfig" 2>/dev/null)
|
|
renamelist=$(grep "renamelist=" "$JDAutoConfig" | sed 's/renamelist=//g')
|
|
|
|
# shellcheck disable=SC1091
|
|
source "$(dirname "$0")/i18n.sh"
|
|
|
|
get_DB() {
|
|
grep "$1DB=" "$JDAutoConfig" | sed 's/.*=//g'
|
|
}
|
|
|
|
curl_name() {
|
|
if [[ $dbid == "TheTVDB" ]]; then
|
|
if [[ -z $(curl -sL https://www.thetvdb.com/dereferrer/series/"$dbentry" | grep -i -A1 "deu" | grep "data-title" | sed 's/.*="\|"//g' | sed "s/’/'/g") ]]; then
|
|
curl -sL https://www.thetvdb.com/dereferrer/series/"$dbentry" | grep -i -A1 "en" | grep "data-title" | sed 's/.*="\|"//g' | sed "s/’/'/g" | head -n 1
|
|
else
|
|
curl -sL https://www.thetvdb.com/dereferrer/series/"$dbentry" | grep -i -A1 "deu" | grep "data-title" | sed 's/.*="\|"//g' | sed "s/’/'/g" | head -n 1
|
|
fi
|
|
elif [[ $dbid == "TheMovieDB::TV" ]]; then
|
|
curl -sL https://www.themoviedb.org/tv/"$dbentry" | grep -i "TV Series" | sed -e 's/<[^>]*>\|(TV.*//g'
|
|
elif [[ $dbid == "TheMovieDB" ]]; then
|
|
curl -sL https://www.themoviedb.org/movie/"$dbentry" | grep -i "The Movie Database (TMDB)" | grep title | sed -e 's/<[^>]*>\|&#.*//g'
|
|
elif [[ $dbid == "AniDB" ]]; then
|
|
curl -sL -A "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:59.0) Gecko/20100101 Firefox/59.0" https://anidb.net/anime/"$dbentry" | grep -i -A1 "Synonym" | sed 's/<[^>]*>\|Synonym\|\t//g' | sed '/^$/d'
|
|
fi
|
|
|
|
}
|
|
|
|
curl_movie_name() {
|
|
curl -sL "https://themoviedb.org/movie/$dbentry" | grep -i "<title>" | sed -e 's/<[^>]*>//g' | sed 's/&#[0-9].*//g'
|
|
}
|
|
|
|
get_db_id() {
|
|
if [[ $dbid == "TheTVDB" ]]; then
|
|
if [ -z "$key2" ]; then
|
|
echo -e "${purple}https://thetvdb.com/search?query=""$key1""${white}"
|
|
else
|
|
echo -e "${purple}https://thetvdb.com/search?query=""$key1""%20""$key2""${white}"
|
|
fi
|
|
elif [[ $dbid == "TheMovieDB" ]] || [[ $dbid == "TheMovieDB::TV" ]]; then
|
|
if [ -z "$key2" ]; then
|
|
echo -e "${purple}https://www.themoviedb.org/search?language=de&query=""$key1""${white}"
|
|
else
|
|
echo -e "${purple}https://www.themoviedb.org/search?language=de&query=""$key1""%20""$key2""${white}"
|
|
fi
|
|
elif [[ $dbid == "AniDB" ]]; then
|
|
if [ -z "$key2" ]; then
|
|
echo -e "${purple}https://anidb.net/anime/?adb.search=$key1&do.update=Search&noalias=1${white}"
|
|
else
|
|
echo -e "${purple}https://anidb.net/anime/?adb.search=$key1%20$key2&do.update=Search&noalias=1${white}"
|
|
fi
|
|
fi
|
|
}
|
|
|
|
while true; do
|
|
read -rp "$(echo -e "$(tr "add_prompt")" "${cyan}""$(tr "film")""${white}" "$(tr "or_a")" "${blue}""$(tr "anime")""${white}"/"${lblue}""$(tr "series")""${white}" "$(tr "to_rename")") ($(tr "enter_type")): " adding
|
|
if [[ ${adding,,} == *"anime"* ]]; then
|
|
read -rp "$(echo -e "$(tr "by_which")" "${purple}""$(tr "keyword")""${white}" "$(tr "should_the")" "$adding "$(tr "entry_matched")") " key1
|
|
read -rp "$(echo -e "${yellow}""$(tr "if_you_want")""${white}", "$(tr "second_keyword")") " key2
|
|
dbid=$(get_DB "Anime")
|
|
get_db_id
|
|
read -rp "$(echo -e "$(tr "enter_now")" "${purple}""$dbid""${white}" "$(tr "number")") " dbentry
|
|
echo "$(tr "this_is_anime") $(curl_name)"
|
|
read -rp "$(tr "is_correct")" wrongformat
|
|
if [ "${wrongformat,,}" == "n" ]; then
|
|
tr "manual_add"
|
|
exit
|
|
else
|
|
{
|
|
curl_name
|
|
echo "$key1"
|
|
echo "$key2"
|
|
echo "Anime"
|
|
echo "$dbentry"
|
|
echo ""
|
|
} >>"$renamelist"
|
|
fi
|
|
elif [[ ${adding,,} == *"serie"* ]]; then
|
|
read -rp "$(echo -e "$(tr "by_which")" "${purple}""$(tr "keyword")""${white}" "$(tr "should_the")" "$adding "$(tr "entry_matched")") " key1
|
|
read -rp "$(echo -e "${yellow}""$(tr "if_you_want")""${white}", "$(tr "second_keyword")") " key2
|
|
dbid=$(get_DB "Series")
|
|
get_db_id
|
|
read -rp "$(echo -e "$(tr "enter_now")" "${purple}""$dbid""${white}" "$(tr "number")") " dbentry
|
|
echo "$(tr "this_is_series") $(curl_name)"
|
|
read -rp "$(tr "is_correct")" wrongformat
|
|
if [ "${wrongformat,,}" == "n" ]; then
|
|
tr "manual_add"
|
|
exit
|
|
else
|
|
{
|
|
curl_name
|
|
echo "$key1"
|
|
echo "$key2"
|
|
echo "Series"
|
|
echo "$dbentry"
|
|
echo ""
|
|
} >>"$renamelist"
|
|
fi
|
|
elif [[ ${adding,,} == *"film"* ]]; then
|
|
read -rp "$(echo -e "$(tr "by_which")" "${purple}""$(tr "keyword")""${white}" "$(tr "should_the")" "$adding "$(tr "entry_matched")") " key1
|
|
read -rp "$(echo -e "${yellow}""$(tr "if_you_want")""${white}", "$(tr "second_keyword")") " key2
|
|
dbid=$(get_DB "Movie")
|
|
get_db_id
|
|
read -rp "$(echo -e "$(tr "enter_now")" "${purple}"TheMovieDB ID"${white}" "$(tr "number")""\n($(tr "url_number"))") " dbentry
|
|
echo "$(tr "this_is_movie") $(curl_movie_name)"
|
|
read -rp "$(tr "is_correct")" wrongformat
|
|
if [ "${wrongformat,,}" == "n" ]; then
|
|
tr "manual_add"
|
|
exit
|
|
else
|
|
{
|
|
curl_movie_name
|
|
echo "$key1"
|
|
echo "$key2"
|
|
echo "Movie"
|
|
echo "$dbentry"
|
|
echo ""
|
|
} >>"$renamelist"
|
|
fi
|
|
elif [[ ${adding,,} == *"beenden"* ]] || [[ ${adding,,} == *"exit"* ]]; then
|
|
break
|
|
fi
|
|
done |