program2 exports the playlists

This commit is contained in:
Gabriel Radureau
2025-10-13 17:31:57 +02:00
parent 65d63ec828
commit d2e2028610
6 changed files with 270 additions and 29 deletions

View File

@@ -1,14 +1,42 @@
#!/bin/bash
set -euo pipefail
SCRIPTS_DIR=$(dirname `realpath ${BASH_SOURCE[0]}`)
export DANCE_VIDEOS_DB="${HOME}/Documents/.DanceVideos/db.sqlite"
export DOSSIER_PLAYLIST="$(dirname $DANCE_VIDEOS_DB)/playlists"
SCRIPTS_DIR="$(dirname "$(realpath "${BASH_SOURCE[0]}")")"
DANCE_VIDEOS_DB="${HOME}/Documents/.DanceVideos/db.sqlite"
DOSSIER_PLAYLIST="$(dirname "$DANCE_VIDEOS_DB")/playlists"
rm -rf $DOSSIER_PLAYLIST
# Nettoyer et recréer le dossier des playlists
rm -rf "$DOSSIER_PLAYLIST"
mkdir -p "$DOSSIER_PLAYLIST"
export PLAYLIST_ALL=$DOSSIER_PLAYLIST/all
mkdir -p $PLAYLIST_ALL
# Créer un dossier "all" avec toutes les vidéos
# PLAYLIST_ALL="$DOSSIER_PLAYLIST/all"
# mkdir -p "$PLAYLIST_ALL"
# while IFS= read -r v; do
# ln -s "$v" "$PLAYLIST_ALL/$(basename "$(dirname "$v")").mp4"
# done < <(sqlite3 "$DANCE_VIDEOS_DB" "SELECT rotated_file FROM videos WHERE rotated_file IS NOT NULL;")
for v in $(sqlite3 $DANCE_VIDEOS_DB "select rotated_file from videos"); do
ln -s $v $PLAYLIST_ALL/$(basename $(dirname $v)).mp4
done
# Pour chaque playlist, créer un dossier et ajouter les liens symboliques
sqlite3 -separator '|' "$DANCE_VIDEOS_DB" "
SELECT playlist_id, playlist_name, video_file_name, rotated_file
FROM playlist_videos
WHERE rotated_file IS NOT NULL;
" | while IFS='|' read -r playlist_id playlist_name video_file_name rotated_file; do
# Sauter l'en-tête
if [[ "$playlist_id" == "playlist_id" ]]; then
continue
fi
# Ignorer les lignes vides
if [[ -z "$playlist_id" || -z "$rotated_file" ]]; then
continue
fi
set -x
# Créer le dossier de la playlist
PLAYLIST_DIR="$DOSSIER_PLAYLIST/$playlist_name"
mkdir -p "$PLAYLIST_DIR"
# Créer le lien symbolique
ln -sf "$rotated_file" "$PLAYLIST_DIR/$(basename "$(dirname "$rotated_file")").mp4"
set +x
done