fix: close duckdb connections safely, swap x/y_axis vectors, fix EVR caption after axis swap
This commit is contained in:
+15
-11
@@ -162,12 +162,14 @@ def _load_motion_vectors(db_path: str, window_id: str) -> Dict[int, np.ndarray]:
|
||||
import duckdb
|
||||
|
||||
conn = duckdb.connect(db_path, read_only=True)
|
||||
rows = conn.execute(
|
||||
"SELECT entity_id, vector FROM svd_vectors "
|
||||
"WHERE entity_type = 'motion' AND window_id = ?",
|
||||
[window_id],
|
||||
).fetchall()
|
||||
conn.close()
|
||||
try:
|
||||
rows = conn.execute(
|
||||
"SELECT entity_id, vector FROM svd_vectors "
|
||||
"WHERE entity_type = 'motion' AND window_id = ?",
|
||||
[window_id],
|
||||
).fetchall()
|
||||
finally:
|
||||
conn.close()
|
||||
result: Dict[int, np.ndarray] = {}
|
||||
for entity_id, vector_raw in rows:
|
||||
try:
|
||||
@@ -248,11 +250,13 @@ def _fetch_motion_titles(
|
||||
|
||||
placeholders = ", ".join("?" for _ in motion_ids)
|
||||
conn = duckdb.connect(db_path, read_only=True)
|
||||
rows = conn.execute(
|
||||
f"SELECT id, title, date FROM motions WHERE id IN ({placeholders})",
|
||||
motion_ids,
|
||||
).fetchall()
|
||||
conn.close()
|
||||
try:
|
||||
rows = conn.execute(
|
||||
f"SELECT id, title, date FROM motions WHERE id IN ({placeholders})",
|
||||
motion_ids,
|
||||
).fetchall()
|
||||
finally:
|
||||
conn.close()
|
||||
return {int(row[0]): (str(row[1]), str(row[2])) for row in rows}
|
||||
except Exception as exc:
|
||||
_logger.debug("Failed to fetch motion titles: %s", exc)
|
||||
|
||||
Reference in New Issue
Block a user