first streamlit poc

This commit is contained in:
Gabriel Radureau
2025-10-12 14:59:40 +02:00
parent 14a3392d41
commit 9cb9790974
8 changed files with 264 additions and 2 deletions

View File

@@ -19,7 +19,8 @@ register_video() {
echo "Error: raw_file and mp4_file are required"
exit 1
fi
local mp4_file_name=$(basename $(dirname $mp4_file))
sqlite3 $DANCE_VIDEOS_DB "INSERT OR REPLACE INTO videos (file_name, raw_file, duration, mp4_file, rotated_file, thumbnail_file, record_datetime, day_of_week, lat, long, address) VALUES('$file_name','$raw_file', '$duration', '$mp4_file', '$rotated_file', '$thumbnail_file', $record_datetime, '$day_of_week', $lat, $long, '$address')"
sqlite3 $DANCE_VIDEOS_DB "INSERT OR REPLACE INTO videos (file_name, raw_file, duration, mp4_file, mp4_file_name, rotated_file, thumbnail_file, record_datetime, day_of_week, lat, long, address) VALUES('$file_name','$raw_file', '$duration', '$mp4_file', '$mp4_file_name', '$rotated_file', '$thumbnail_file', $record_datetime, '$day_of_week', $lat, $long, '$address')"
}
export -f register_video

View File

@@ -3,6 +3,7 @@ CREATE TABLE IF NOT EXISTS videos (
raw_file VARCHAR(255) UNIQUE,
duration DECIMAL(10,2),
mp4_file VARCHAR(255),
mp4_file_name VARCHAR(255),
rotated_file VARCHAR(255),
thumbnail_file VARCHAR(255),
record_datetime TIMESTAMP,

14
model/videos_labels.sql Normal file
View File

@@ -0,0 +1,14 @@
-- Table des labels (mots-clés / tags indépendants)
CREATE TABLE IF NOT EXISTS labels (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name VARCHAR(100) UNIQUE NOT NULL
);
-- Table d'association entre vidéos et labels (relation many-to-many)
CREATE TABLE IF NOT EXISTS video_labels (
video_file_name VARCHAR(255),
label_id INTEGER,
PRIMARY KEY (video_file_name, label_id),
FOREIGN KEY (video_file_name) REFERENCES videos(file_name) ON DELETE CASCADE,
FOREIGN KEY (label_id) REFERENCES labels(id) ON DELETE CASCADE
);

View File

@@ -0,0 +1,17 @@
-- Table des playlists
CREATE TABLE IF NOT EXISTS playlists (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name VARCHAR(100) UNIQUE NOT NULL,
description TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
-- Table d'association entre vidéos et playlists (relation many-to-many)
CREATE TABLE IF NOT EXISTS video_playlists (
video_file_name VARCHAR(255),
playlist_id INTEGER,
position INTEGER, -- pour gérer lordre dans la playlist
PRIMARY KEY (video_file_name, playlist_id),
FOREIGN KEY (video_file_name) REFERENCES videos(file_name) ON DELETE CASCADE,
FOREIGN KEY (playlist_id) REFERENCES playlists(id) ON DELETE CASCADE
);