From 824192b85663c11856b0017a3b66db0a8ff4468c Mon Sep 17 00:00:00 2001 From: devilreef Date: Thu, 30 Apr 2026 14:53:26 +0600 Subject: [PATCH] chore: script to restore per-album covers from archives --- scripts/restore-album-covers.sh | 45 +++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 scripts/restore-album-covers.sh diff --git a/scripts/restore-album-covers.sh b/scripts/restore-album-covers.sh new file mode 100644 index 0000000..2f20a4d --- /dev/null +++ b/scripts/restore-album-covers.sh @@ -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"