Going somewhere before going to the gym

This commit is contained in:
didier committed 2024-11-15 13:33:14 -05:00
1 parent f5b8e24e01
commit 236dd82871
4 files changed
+103 -63

No files matched your search

+13 -4
View File
@@ -33,6 +33,7 @@ class SQLiteDataDumper(DataDumper):
id INTEGER PRIMARY KEY AUTOINCREMENT,
file_name TEXT NOT NULL,
file_sha256_hex TEXT NOT NULL,
count INTEGER NOT NULL DEFAULT 1,
UNIQUE(file_sha256_hex)
);
@@ -44,6 +45,7 @@ class SQLiteDataDumper(DataDumper):
timestamp_ DOUBLE PRECISION NOT NULL,
index_ INTEGER NOT NULL,
video_id INTEGER NOT NULL,
nbr_detected_object INTEGER NOT NULL,
FOREIGN KEY(video_id) REFERENCES video(id),
UNIQUE(video_id, index_)
@@ -69,26 +71,33 @@ class SQLiteDataDumper(DataDumper):
def start(self, video_path: Path, hexa_hash: str) -> None:
self._create_tables()
cur = self._conn.cursor()
res = cur.execute("""
INSERT INTO video(file_name, file_sha256_hex)
VALUES (?, ?)
ON CONFLICT(file_sha256_hex) DO NOTHING
ON CONFLICT(file_sha256_hex) DO UPDATE SET count = count + 1
RETURNING id
""", (video_path.name, hexa_hash))
self._video_id = res.fetchone()[0]
self._conn.commit()
def _is_empty_df(self, df):
return not df.shape[0]
@pa.check_io(df=TrackedDetectedObject)
def write_boxes(self,
df: pd.DataFrame,
ts: VideoTimestamp,
frame_index: int) -> None:
if self._is_empty_df(df):
return
cur = self._conn.cursor()
res = cur.execute('''
INSERT INTO video_frame(timestamp_, index_, video_id )
VALUES (?, ?, ?)
ON CONFLICT(video_id, index_) DO NOTHING
INSERT INTO video_frame(timestamp_, index_, video_id, nbr_detected_object )
VALUES (?, ?, ?, 1)
ON CONFLICT(video_id, index_)
DO UPDATE SET nbr_detected_object = nbr_detected_object + 1
RETURNING id
''', (ts, frame_index, self._video_id))
frame_id = res.fetchone()[0]