From 433309d210ebc8f18c0fe8ea0e83584c6ec561ce Mon Sep 17 00:00:00 2001 From: Michael Jaeger Date: Sat, 23 Nov 2024 17:57:31 +0100 Subject: [PATCH 1/4] fix: korrigiert Download-URL und verbessert Style --- linux.sh | 148 +++++++++++++++++++++++++++++-------------------------- 1 file changed, 77 insertions(+), 71 deletions(-) diff --git a/linux.sh b/linux.sh index 1483138..05d7ccc 100755 --- a/linux.sh +++ b/linux.sh @@ -1,18 +1,23 @@ #!/bin/bash +DOWNLOAD_PREFIX="http://13.80.138.170/book-files" +DOWNLOAD_PREFIX_GET_ID="$DOWNLOAD_PREFIX/get/id/" +DOWNLOAD_PREFIX_GET_DESCRIPTION_ID="$DOWNLOAD_PREFIX/get-description/id/" +DOWNLOAD_AREA_EN_TYPE="area/en/type" +DOWNLOAD_POSTFIX="sn/5497559973888/" + TING="${1}" -if [ -z "${1}" ] ; then - TING="$(grep '/TING\s' /proc/mounts |cut -d ' ' -f 2)" - if ! [ -d "${TING}/\$ting" ] ; then - TING= - fi +if [ -z "${1}" ]; then + TING="$(grep '/TING\s' /proc/mounts | cut -d ' ' -f 2)" + if ! [ -d "${TING}/\$ting" ]; then + TING= + fi fi - if [ -z "${TING}" ]; then - echo "TING konnte nicht automatisch erkannt werden. Bitte gib den Mount-Point des TING-Stifts als Parameter mit." - echo "Usage: $0 [Ort des \$ting-Ordners]" - exit 1 + echo "TING konnte nicht automatisch erkannt werden. Bitte gib den Mount-Point des TING-Stifts als Parameter mit." + echo "Usage: $0 [Ort des \$ting-Ordners]" + exit 1 fi tingPath="$TING" @@ -23,87 +28,88 @@ oufEnd="_en.ouf" scrEnd="_en.script" # entfernt ^M aus Datei und schreibt die Zeilen neu -cleanFile () { - echo "Säubere File $1" - while read -r line - do - $(echo -n "$line" | tr -d $'\r' | grep "[0-9]" >> TBD_TEMP.TXT) - done < "$filename" - rm $1 - sort -u TBD_TEMP.TXT > $1 - rm TBD_TEMP.TXT - echo "" +cleanFile() { + echo "Säubere File $1" + while read -r line; do + echo -n "$line" | tr -d $'\r' | grep "[0-9]" >>"TBD_TEMP.TXT" + done <"$filename" + rm "$1" + sort -u TBD_TEMP.TXT >"$1" + rm TBD_TEMP.TXT + echo "" } # leert die ganze Datei -emptyFile () { - echo "Leere File $1" - echo "" - truncate --size=0 $1 +emptyFile() { + echo "Leere File $1" + echo "" + truncate --size=0 "$1" } -checkFiles () { - echo "Prüfe Datei $3"; - thumbMD5=$(cat $3 | grep "ThumbMD5:" | grep -ow "[0-9a-z]*"); - s=$(echo "$1" | sed 's/^0*//') - if [ -z $thumbMD5 ]; then - echo "Kein Vorschaubild notwendig" - else - echo "Downloade Vorschaubild $1$pngEnd" - wget http://system.ting.eu/book-files/get/id/$s/area/en/type/thumb -O $2/$1$pngEnd - fi - - fileMD5=$(cat $3 | grep "FileMD5:" | grep -ow "[0-9a-z]*") - if [ -z $fileMD5 ]; then - echo "Kein Buchfile notwendig" - else - echo "Downloade Buchfile $1$oufEnd" - wget http://system.ting.eu/book-files/get/id/$s/area/en/type/archive -O $2/$1$oufEnd - fi - scriptMD5=$(cat $3 | grep "ScriptMD5:" | grep -ow "[0-9a-z]*") - if [ -z $scriptMD5 ]; then - echo "Kein Scriptfile notwendig" - else - echo "Downloade Scriptfile $1$scrEnd" - wget http://system.ting.eu/book-files/get/id/$s/area/en/type/script -O $2/$1$scrEnd - fi - - echo "" +checkFiles() { + echo "Prüfe Datei $3" + thumbMD5=$(grep "ThumbMD5:" "$3" | grep -ow "[0-9a-z]*") + # shellcheck disable=SC2001 + s="$(echo "$1" | sed 's/^0*//')" + if [ -z "$thumbMD5" ]; then + echo "Kein Vorschaubild notwendig" + else + echo "Downloade Vorschaubild $1$pngEnd" + wget "$DOWNLOAD_PREFIX_GET_ID/$s/$DOWNLOAD_AREA_EN_TYPE/thumb/$DOWNLOAD_POSTFIX" -O "$2/$1$pngEnd" + fi + + fileMD5=$(grep "FileMD5:" "$3" | grep -ow "[0-9a-z]*") + if [ -z "$fileMD5" ]; then + echo "Kein Buchfile notwendig" + else + echo "Downloade Buchfile $1$oufEnd" + wget "$DOWNLOAD_PREFIX_GET_ID/$s/$DOWNLOAD_AREA_EN_TYPE/archive/$DOWNLOAD_POSTFIX" -O "$2/$1$oufEnd" + fi + scriptMD5=$(grep "ScriptMD5:" "$3" | grep -ow "[0-9a-z]*") + if [ -z "$scriptMD5" ]; then + echo "Kein Scriptfile notwendig" + else + echo "Downloade Scriptfile $1$scrEnd" + wget "$DOWNLOAD_PREFIX_GET_ID/$s/$DOWNLOAD_AREA_EN_TYPE/script/$DOWNLOAD_POSTFIX" -O "$2/$1$oufEnd" + fi + + echo "" } -getInfo () { - s=$(echo "$1" | sed 's/^0*//') - echo "short: $s" - wget http://system.ting.eu/book-files/get-description/id/"$s"/area/en -O "$2"/"$1""$3" +getInfo() { + # shellcheck disable=SC2001 + s="$(echo "$1" | sed 's/^0*//')" + echo "short: $s" + wget $DOWNLOAD_PREFIX_GET_DESCRIPTION_ID/"$s"/$DOWNLOAD_AREA_EN/$DOWNLOAD_POSTFIX -O "$2"/"$1""$3" } -getFiles () { - bookId=$1 - echo "Lade BuchId $bookId" - getInfo $bookId "$2" $txtEnd - checkFiles $bookId $2 "$2/$1$3$txtEnd" - echo "" +getFiles() { + bookId=$1 + echo "Lade BuchId $bookId" + getInfo "$bookId" "$2" "$txtEnd" + checkFiles "$bookId" "$2" "$2/$1$3$txtEnd" + echo "" } echo "Ort des \$ting-Ordner: $tingPath" filename="$tingPath/\$ting/TBD.TXT" -if ! [ -f "$filename" ] ; then - filename="$tingPath/\$ting/tbd.txt" +if ! [ -f "$filename" ]; then + filename="$tingPath/\$ting/tbd.txt" fi -if [ "$(wc -l "$filename"|cut -d ' ' -f 1)" == 0 ] ; then - echo 'Kein fehlendes Buch gefunden.' - exit 0 +if [ "$(wc -l "$filename" | cut -d ' ' -f 1)" == 0 ]; then + echo 'Kein fehlendes Buch gefunden.' + exit 0 fi - + cleanFile "$filename" -while read -r line -do - export bookId=$(echo -n "$line" | tr -d $'\r' | grep "[0-9]") - getFiles "$bookId" "$tingPath/\$ting" +while read -r line; do + bookId="$(echo -n "$line" | tr -d $'\r' | grep "[0-9]")" + export bookId + getFiles "$bookId" "$tingPath/\$ting" -done < "$filename" +done <"$filename" emptyFile "$filename" From 0af1ce71db5950ab2fab43e33a84774d25a3804c Mon Sep 17 00:00:00 2001 From: Michael Jaeger Date: Sat, 23 Nov 2024 18:00:14 +0100 Subject: [PATCH 2/4] docs: aktualisiert README mit Link zu Tingel Tangel --- README.md | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 7c681b3..7873a14 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,12 @@ # TingScript + Bash script for filling the TING pen with audio books under Linux, which have to be downloaded ## Requirements + - TING pen with USB cable - bash as shell (maybe other can run well, but can't be guaranteed) - ## Installation 1. Open a terminal @@ -19,6 +20,7 @@ Bash script for filling the TING pen with audio books under Linux, which have to ``` ## Usage + 1. The script downloads "missing" books, i.e. books that the TING pen has "seen" but which are currently not stored on the pen. Therefore, turn on the pen and use it to touch the activation icons of all the books that you want to download. @@ -41,9 +43,16 @@ use it to touch the activation icons of all the books that you want to download. The path that you pass should be the folder that contains the ``$ting`` folder. +## Attention + +The TING pen is not supported anymore. +Thus, a project named Tangel] has formed to conserve the old books and provide them for download. +The download script has thus been updated accordingly. + ## Contributors -- Ralf Meyer https://github.com/ralfdonald -- Bernd Wurst https://github.com/bwurst -- Stefan Dangl https://github.com/stangls -- frog23 https://github.com/frog23 -- Florian Brucker https://github.com/torfsen + +- Ralf Meyer +- Bernd Wurst +- Stefan Dangl +- frog23 +- Florian Brucker From efd2ae28f4ef787c0891cc3a7f8e3fa9fa063414 Mon Sep 17 00:00:00 2001 From: Michael Jaeger Date: Sat, 23 Nov 2024 18:08:10 +0100 Subject: [PATCH 3/4] fix: korrigiert Download-URL --- linux.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/linux.sh b/linux.sh index 05d7ccc..5eace4a 100755 --- a/linux.sh +++ b/linux.sh @@ -80,7 +80,7 @@ getInfo() { # shellcheck disable=SC2001 s="$(echo "$1" | sed 's/^0*//')" echo "short: $s" - wget $DOWNLOAD_PREFIX_GET_DESCRIPTION_ID/"$s"/$DOWNLOAD_AREA_EN/$DOWNLOAD_POSTFIX -O "$2"/"$1""$3" + wget $DOWNLOAD_PREFIX_GET_DESCRIPTION_ID/"$s"/$DOWNLOAD_AREA_EN_TYPE/$DOWNLOAD_POSTFIX -O "$2"/"$1""$3" } getFiles() { From 5a3762aebfdc20cb283708ef0ccc4df69d3e6d74 Mon Sep 17 00:00:00 2001 From: Michael Jaeger Date: Sat, 18 Jan 2025 15:37:20 +0100 Subject: [PATCH 4/4] fix: korrigiert Extension bei Download der Script-Files --- linux.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/linux.sh b/linux.sh index 5eace4a..0d06a77 100755 --- a/linux.sh +++ b/linux.sh @@ -1,8 +1,8 @@ #!/bin/bash DOWNLOAD_PREFIX="http://13.80.138.170/book-files" -DOWNLOAD_PREFIX_GET_ID="$DOWNLOAD_PREFIX/get/id/" -DOWNLOAD_PREFIX_GET_DESCRIPTION_ID="$DOWNLOAD_PREFIX/get-description/id/" +DOWNLOAD_PREFIX_GET_ID="$DOWNLOAD_PREFIX/get/id" +DOWNLOAD_PREFIX_GET_DESCRIPTION_ID="$DOWNLOAD_PREFIX/get-description/id" DOWNLOAD_AREA_EN_TYPE="area/en/type" DOWNLOAD_POSTFIX="sn/5497559973888/" @@ -70,7 +70,7 @@ checkFiles() { echo "Kein Scriptfile notwendig" else echo "Downloade Scriptfile $1$scrEnd" - wget "$DOWNLOAD_PREFIX_GET_ID/$s/$DOWNLOAD_AREA_EN_TYPE/script/$DOWNLOAD_POSTFIX" -O "$2/$1$oufEnd" + wget "$DOWNLOAD_PREFIX_GET_ID/$s/$DOWNLOAD_AREA_EN_TYPE/script/$DOWNLOAD_POSTFIX" -O "$2/$1$scrEnd" fi echo ""