60 lines
1.6 KiB
Bash
Executable File
60 lines
1.6 KiB
Bash
Executable File
#!/usr/bin/bash
|
|
|
|
IGREEN="\033[0;92m" # Intense Green
|
|
IYELLOW="\033[0;93m" # Intense Yellow
|
|
NO_COLOR="\033[0m" # Text Reset
|
|
IN_FILE="$1_generated.txt"
|
|
SUCCESS_FILE="$1_success.txt"
|
|
FAIL_FILE="$1_failed.txt"
|
|
BOOL_SUCCESS=0
|
|
|
|
if [[ $(hostname) == \s\a\t\a\n ]]; then
|
|
[[ -d ./Artists ]] || mkdir ./Artists
|
|
rm -rf ./gallery-dl/*.sqlite3 ./gallery-dl/log.txt ./Artists/* || exit 1
|
|
fi
|
|
|
|
download() {
|
|
# echo "url: $1"
|
|
# echo "path: $2"
|
|
|
|
for ((n=0;n<5;n++)); do
|
|
#echo "gallery-dl --config ./gallery-dl/config.json --directory $2 $1"
|
|
gallery-dl --config ./gallery-dl/config.json --directory "$2" "$1"
|
|
|
|
if [ $(echo $?) == 0 ]; then
|
|
echo "$1" >> "$SUCCESS_FILE"
|
|
break
|
|
fi
|
|
echo -e "${IYELLOW}download failed${NO_COLOR}"
|
|
|
|
if [ $(ping -qc 3 v4.ip.hopeless-cloud.xyz > /dev/null 2>&1) != 0 ]; then
|
|
echo -e "${IYELLOW}no internet${NO_COLOR}"
|
|
exit 1
|
|
elif [ $(ping -qc 3 v6.ip.hopeless-cloud.xyz > /dev/null 2>&1) != 0 ]; then
|
|
echo -e "${IYELLOW}no internet${NO_COLOR}"
|
|
exit 1
|
|
fi
|
|
echo -e "${IGREEN}has internet${NO_COLOR}"
|
|
done
|
|
|
|
echo "$1" >> "$FAIL_FILE"
|
|
}
|
|
|
|
cargo run -- generate "$1"
|
|
|
|
if [[ -f $FAIL_FILE ]]; then
|
|
[[ -f "${FAIL_FILE}.old" ]] && rm -f "${FAIL_FILE}.old"
|
|
mv "$FAIL_FILE" "${FAIL_FILE}.old"
|
|
fi
|
|
|
|
while IFS= read -r line; do
|
|
url=$(echo "$line" | awk '{print $1}')
|
|
path=$(echo "$line" | awk '{print $3}')
|
|
|
|
download $url $path
|
|
|
|
exit
|
|
done < "$IN_FILE"
|
|
|
|
[[ $(hostname) != \s\a\t\a\n ]] && cp ./gallery-dl/archive-${$1,,}.sqlite3 /data/backup
|