43 lines
1.4 KiB
Bash
Executable File
43 lines
1.4 KiB
Bash
Executable File
#!/bin/bash
|
|
set -euo pipefail
|
|
|
|
SCRIPTS_DIR="$(dirname "$(realpath "${BASH_SOURCE[0]}")")"
|
|
DANCE_VIDEOS_DB="${HOME}/Documents/.DanceVideos/db.sqlite"
|
|
DOSSIER_PLAYLIST="$(dirname "$DANCE_VIDEOS_DB")/playlists"
|
|
|
|
# Nettoyer et recréer le dossier des playlists
|
|
rm -rf "$DOSSIER_PLAYLIST"
|
|
mkdir -p "$DOSSIER_PLAYLIST"
|
|
|
|
# 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;")
|
|
|
|
# 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
|