Files
JDownloader-Autoenc-rename/addrename.sh
T
ARIA 4b2e40c59f refactor: replace numeric translation keys with named keys
- 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
2026-08-12 05:57:20 +02:00

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