chore: script to restore per-album covers from archives
This commit is contained in:
parent
d3e919d4c8
commit
824192b856
1 changed files with 45 additions and 0 deletions
45
scripts/restore-album-covers.sh
Normal file
45
scripts/restore-album-covers.sh
Normal file
|
|
@ -0,0 +1,45 @@
|
|||
#!/usr/bin/env bash
|
||||
# one-time: extract cover.jpg from each album archive in
|
||||
# ~/Downloads/Telegram\ Desktop and upload to summer storage box.
|
||||
# safe to re-run; skips albums whose cover already exists on summer.
|
||||
set -euo pipefail
|
||||
|
||||
SRC="${SRC:-/c/Users/user/Downloads/Telegram Desktop}"
|
||||
SSH_KEY="${SSH_KEY:-$HOME/.ssh/keys/devilreef}"
|
||||
SSH_OPTS=(-o IdentityAgent=none -o IdentitiesOnly=yes -i "$SSH_KEY")
|
||||
REMOTE_LIB="/mnt/trashbox/denpa-radio/library/minecraft/tracks"
|
||||
|
||||
declare -A MAP=(
|
||||
["C418 - Minecraft - Volume Alpha.tar.gz"]="Volume Alpha"
|
||||
["C418 - Minecraft - Volume Beta.tar.gz"]="Volume Beta"
|
||||
["Lena_Raine,_Minecraft_Minecraft_Caves_Cliffs_Original_Game.gz"]="Caves & Cliffs"
|
||||
["Minecraft - Minecraft_ Pixel Drift.tar.gz"]="Pixel Drift"
|
||||
["Peter_Hont,_Minecraft_Minecraft_Dungeons_Original_Game_Soundt.gz"]="Minecraft Dungeons"
|
||||
["Peter_Hont,_Minecraft_Minecraft_Dungeons_Creeping_Winter_Ori.gz"]="Minecraft Dungeons - Creeping Winter"
|
||||
["Peter_Hont,_Minecraft_Minecraft_Dungeons_Echoing_Void_Origin.gz"]="Minecraft Dungeons - Echoing Void"
|
||||
["Peter_Hont,_Minecraft_Minecraft_Dungeons_Howling_Peaks_Origi.gz"]="Minecraft Dungeons - Howling Peaks"
|
||||
["Peter_Hont,_Minecraft_Minecraft_Dungeons_Jungle_Awakens_Orig.gz"]="Minecraft Dungeons - Jungle Awakens"
|
||||
["Peter_Hont,_Samuel_berg,_Minecraft_Minecraft_Dungeons_Ultima.gz"]="Minecraft Dungeons - Ultimate Additions"
|
||||
)
|
||||
|
||||
tmp=$(mktemp -d)
|
||||
trap 'rm -rf "$tmp"' EXIT
|
||||
|
||||
for archive in "${!MAP[@]}"; do
|
||||
album="${MAP[$archive]}"
|
||||
remote_path="$REMOTE_LIB/$album/cover.jpg"
|
||||
|
||||
if ssh "${SSH_OPTS[@]}" summer "test -f \"$remote_path\""; then
|
||||
echo "skip: $album (cover exists)"
|
||||
continue
|
||||
fi
|
||||
|
||||
echo "extract: $archive → $album"
|
||||
tar -xzf "$SRC/$archive" -C "$tmp" cover.jpg
|
||||
echo "upload: $album"
|
||||
cat "$tmp/cover.jpg" | ssh "${SSH_OPTS[@]}" summer "mkdir -p \"$REMOTE_LIB/$album\" && cat > \"$remote_path\""
|
||||
rm "$tmp/cover.jpg"
|
||||
done
|
||||
|
||||
echo "done"
|
||||
ssh "${SSH_OPTS[@]}" summer "ls $REMOTE_LIB/*/cover.jpg"
|
||||
Loading…
Add table
Add a link
Reference in a new issue