Give alias and random suffix for whatsapp videos without created timestamp
This commit is contained in:
@@ -16,12 +16,50 @@ mkdir -p "$DOSSIER_PLAYLIST"
|
||||
# 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;")
|
||||
|
||||
video_filename () {
|
||||
local rotated_file=$1
|
||||
local alias=${2:-}
|
||||
local count_or_music=${3:-}
|
||||
|
||||
name_part="$(basename "$(dirname "$rotated_file")")"
|
||||
# Décomposer le name_part pour insérer l'alias après la date
|
||||
# On suppose un schéma de départ du type YYYYMMDD_HHMMSS...
|
||||
if [[ "$name_part" =~ ^([0-9]{8})_([0-9]{6}.*)$ ]]; then
|
||||
date_part="${BASH_REMATCH[1]}"
|
||||
rest_part="${BASH_REMATCH[2]}"
|
||||
else
|
||||
echo unexpected format >&2
|
||||
exit 2
|
||||
fi
|
||||
|
||||
output_name="${date_part:2}" #ignore the 20 from 20xx years
|
||||
|
||||
if [[ -n "$alias" ]]; then
|
||||
# Nettoyer l'alias pour le rendre sûr dans le nom de fichier
|
||||
safe_alias="$(echo "$alias" | tr ' /' '_' | tr -dc '[:alnum:]_')"
|
||||
output_name="${output_name}_${safe_alias}"
|
||||
fi
|
||||
|
||||
if [[ -n "$count_or_music" ]]; then
|
||||
output_name="${output_name}_${count_or_music}"
|
||||
fi
|
||||
|
||||
echo "${output_name}_${rest_part}.mp4"
|
||||
}
|
||||
|
||||
# Pour chaque playlist, créer un dossier et ajouter les liens symboliques
|
||||
sqlite3 -separator '|' "$DANCE_VIDEOS_DB" "
|
||||
SELECT pv.playlist_id, pv.playlist_name, pv.video_file_name, v.rotated_file
|
||||
SELECT pv.playlist_id, pv.playlist_name, pv.video_file_name, v.rotated_file, v.alias, COALESCE( count_or_music_labels.count_or_music , '') count_or_music
|
||||
FROM playlist_videos pv JOIN videos v ON pv.video_file_name=v.file_name
|
||||
LEFT JOIN (
|
||||
select * from video_labels
|
||||
natural join (
|
||||
select id as label_id, CASE WHEN name='comptes' THEN 'C' ELSE 'M' END as count_or_music
|
||||
from labels where name in ('comptes','en musique')
|
||||
)
|
||||
) count_or_music_labels ON v.file_name=count_or_music_labels.video_file_name
|
||||
WHERE v.rotated_file IS NOT NULL;
|
||||
" | while IFS='|' read -r playlist_id playlist_name video_file_name rotated_file; do
|
||||
" | while IFS='|' read -r playlist_id playlist_name video_file_name rotated_file alias count_or_music; do
|
||||
# Sauter l'en-tête
|
||||
if [[ "$playlist_id" == "playlist_id" ]]; then
|
||||
continue
|
||||
@@ -37,6 +75,11 @@ sqlite3 -separator '|' "$DANCE_VIDEOS_DB" "
|
||||
mkdir -p "$PLAYLIST_DIR"
|
||||
|
||||
# Créer le lien symbolique
|
||||
ln -sf "$rotated_file" "$PLAYLIST_DIR/$(basename "$(dirname "$rotated_file")").mp4"
|
||||
# ln -sf "$rotated_file" "$PLAYLIST_DIR/$(basename "$(dirname "$rotated_file")").mp4"
|
||||
|
||||
|
||||
ln -sf "$rotated_file" "$PLAYLIST_DIR/$(video_filename $rotated_file $alias $count_or_music)"
|
||||
|
||||
set +x
|
||||
|
||||
done
|
||||
|
||||
Reference in New Issue
Block a user