eadir extraction working

This commit is contained in:
2025-10-12 16:31:41 -06:00
parent b140883b90
commit b8418641e1
3 changed files with 468 additions and 24 deletions

51
extract_eadir_to_tmp.sh Normal file
View File

@@ -0,0 +1,51 @@
#!/bin/bash
# Extract existing Synology thumbnails from @eaDir into eaDir_tmp so thumbgen skips regeneration
# Usage: ./extract_eadir_to_tmp.sh /volume1/YourShare/path
set -euo pipefail
if [ $# -eq 0 ]; then
echo "Usage: $0 <directory_path>"
exit 1
fi
TARGET_DIR="$1"
if [ ! -d "$TARGET_DIR" ]; then
echo "Error: '$TARGET_DIR' is not a directory"
exit 1
fi
echo "=== Extracting @eaDir thumbnails to eaDir_tmp ==="
echo "Target: $TARGET_DIR"
# For every @eaDir/<name> directory, copy known thumbnail files to eaDir_tmp/<name>
find "$TARGET_DIR" -type d -name '@eaDir' -print0 | while IFS= read -r -d '' EADIR; do
PARENT_DIR="$(dirname "$EADIR")"
# Each immediate subdir under @eaDir corresponds to a source filename
find "$EADIR" -mindepth 1 -maxdepth 1 -type d -print0 | while IFS= read -r -d '' ENTRY; do
BASENAME="$(basename "$ENTRY")"
DEST_DIR="$PARENT_DIR/eaDir_tmp/$BASENAME"
mkdir -p "$DEST_DIR"
# Copy without overwriting existing files in eaDir_tmp
for F in \
SYNOVIDEO_VIDEO_SCREENSHOT.jpg \
SYNOPHOTO_THUMB_XL.jpg \
SYNOPHOTO_THUMB_B.jpg \
SYNOPHOTO_THUMB_M.jpg \
SYNOPHOTO_THUMB_PREVIEW.jpg \
SYNOPHOTO_THUMB_S.jpg; do
if [ -f "$ENTRY/$F" ] && [ ! -f "$DEST_DIR/$F" ]; then
cp "$ENTRY/$F" "$DEST_DIR/$F"
fi
done
done
done
echo "=== Done. Existing thumbnails copied into eaDir_tmp where available. ==="