style: auto-format code with ruff (cron)
This commit is contained in:
@@ -154,7 +154,7 @@ class DatabaseManager:
|
||||
|
||||
def get_project(self, project_id: str) -> Project | None:
|
||||
conn = self.get_conn()
|
||||
row = conn.execute("SELECT * FROM projects WHERE id = ?", (project_id, )).fetchone()
|
||||
row = conn.execute("SELECT * FROM projects WHERE id = ?", (project_id,)).fetchone()
|
||||
conn.close()
|
||||
if row:
|
||||
return Project(**dict(row))
|
||||
@@ -211,7 +211,8 @@ class DatabaseManager:
|
||||
"""查找相似实体"""
|
||||
conn = self.get_conn()
|
||||
rows = conn.execute(
|
||||
"SELECT * FROM entities WHERE project_id = ? AND name LIKE ?", (project_id, f"%{name}%")
|
||||
"SELECT * FROM entities WHERE project_id = ? AND name LIKE ?",
|
||||
(project_id, f"%{name}%"),
|
||||
).fetchall()
|
||||
conn.close()
|
||||
|
||||
@@ -226,8 +227,8 @@ class DatabaseManager:
|
||||
"""合并两个实体"""
|
||||
conn = self.get_conn()
|
||||
|
||||
target = conn.execute("SELECT * FROM entities WHERE id = ?", (target_id, )).fetchone()
|
||||
source = conn.execute("SELECT * FROM entities WHERE id = ?", (source_id, )).fetchone()
|
||||
target = conn.execute("SELECT * FROM entities WHERE id = ?", (target_id,)).fetchone()
|
||||
source = conn.execute("SELECT * FROM entities WHERE id = ?", (source_id,)).fetchone()
|
||||
|
||||
if not target or not source:
|
||||
conn.close()
|
||||
@@ -252,7 +253,7 @@ class DatabaseManager:
|
||||
"UPDATE entity_relations SET target_entity_id = ? WHERE target_entity_id = ?",
|
||||
(target_id, source_id),
|
||||
)
|
||||
conn.execute("DELETE FROM entities WHERE id = ?", (source_id, ))
|
||||
conn.execute("DELETE FROM entities WHERE id = ?", (source_id,))
|
||||
|
||||
conn.commit()
|
||||
conn.close()
|
||||
@@ -260,7 +261,7 @@ class DatabaseManager:
|
||||
|
||||
def get_entity(self, entity_id: str) -> Entity | None:
|
||||
conn = self.get_conn()
|
||||
row = conn.execute("SELECT * FROM entities WHERE id = ?", (entity_id, )).fetchone()
|
||||
row = conn.execute("SELECT * FROM entities WHERE id = ?", (entity_id,)).fetchone()
|
||||
conn.close()
|
||||
if row:
|
||||
data = dict(row)
|
||||
@@ -271,7 +272,7 @@ class DatabaseManager:
|
||||
def list_project_entities(self, project_id: str) -> list[Entity]:
|
||||
conn = self.get_conn()
|
||||
rows = conn.execute(
|
||||
"SELECT * FROM entities WHERE project_id = ? ORDER BY updated_at DESC", (project_id, )
|
||||
"SELECT * FROM entities WHERE project_id = ? ORDER BY updated_at DESC", (project_id,)
|
||||
).fetchall()
|
||||
conn.close()
|
||||
|
||||
@@ -316,13 +317,13 @@ class DatabaseManager:
|
||||
def delete_entity(self, entity_id: str) -> None:
|
||||
"""删除实体及其关联数据"""
|
||||
conn = self.get_conn()
|
||||
conn.execute("DELETE FROM entity_mentions WHERE entity_id = ?", (entity_id, ))
|
||||
conn.execute("DELETE FROM entity_mentions WHERE entity_id = ?", (entity_id,))
|
||||
conn.execute(
|
||||
"DELETE FROM entity_relations WHERE source_entity_id = ? OR target_entity_id = ?",
|
||||
(entity_id, entity_id),
|
||||
)
|
||||
conn.execute("DELETE FROM entity_attributes WHERE entity_id = ?", (entity_id, ))
|
||||
conn.execute("DELETE FROM entities WHERE id = ?", (entity_id, ))
|
||||
conn.execute("DELETE FROM entity_attributes WHERE entity_id = ?", (entity_id,))
|
||||
conn.execute("DELETE FROM entities WHERE id = ?", (entity_id,))
|
||||
conn.commit()
|
||||
conn.close()
|
||||
|
||||
@@ -352,7 +353,7 @@ class DatabaseManager:
|
||||
conn = self.get_conn()
|
||||
rows = conn.execute(
|
||||
"SELECT * FROM entity_mentions WHERE entity_id = ? ORDER BY transcript_id, start_pos",
|
||||
(entity_id, ),
|
||||
(entity_id,),
|
||||
).fetchall()
|
||||
conn.close()
|
||||
return [EntityMention(**dict(r)) for r in rows]
|
||||
@@ -380,14 +381,15 @@ class DatabaseManager:
|
||||
|
||||
def get_transcript(self, transcript_id: str) -> dict | None:
|
||||
conn = self.get_conn()
|
||||
row = conn.execute("SELECT * FROM transcripts WHERE id = ?", (transcript_id, )).fetchone()
|
||||
row = conn.execute("SELECT * FROM transcripts WHERE id = ?", (transcript_id,)).fetchone()
|
||||
conn.close()
|
||||
return dict(row) if row else None
|
||||
|
||||
def list_project_transcripts(self, project_id: str) -> list[dict]:
|
||||
conn = self.get_conn()
|
||||
rows = conn.execute(
|
||||
"SELECT * FROM transcripts WHERE project_id = ? ORDER BY created_at DESC", (project_id, )
|
||||
"SELECT * FROM transcripts WHERE project_id = ? ORDER BY created_at DESC",
|
||||
(project_id,),
|
||||
).fetchall()
|
||||
conn.close()
|
||||
return [dict(r) for r in rows]
|
||||
@@ -400,7 +402,7 @@ class DatabaseManager:
|
||||
(full_text, now, transcript_id),
|
||||
)
|
||||
conn.commit()
|
||||
row = conn.execute("SELECT * FROM transcripts WHERE id = ?", (transcript_id, )).fetchone()
|
||||
row = conn.execute("SELECT * FROM transcripts WHERE id = ?", (transcript_id,)).fetchone()
|
||||
conn.close()
|
||||
return dict(row) if row else None
|
||||
|
||||
@@ -453,7 +455,7 @@ class DatabaseManager:
|
||||
conn = self.get_conn()
|
||||
rows = conn.execute(
|
||||
"SELECT * FROM entity_relations WHERE project_id = ? ORDER BY created_at DESC",
|
||||
(project_id, ),
|
||||
(project_id,),
|
||||
).fetchall()
|
||||
conn.close()
|
||||
return [dict(r) for r in rows]
|
||||
@@ -475,13 +477,15 @@ class DatabaseManager:
|
||||
conn.execute(query, values)
|
||||
conn.commit()
|
||||
|
||||
row = conn.execute("SELECT * FROM entity_relations WHERE id = ?", (relation_id, )).fetchone()
|
||||
row = conn.execute(
|
||||
"SELECT * FROM entity_relations WHERE id = ?", (relation_id,)
|
||||
).fetchone()
|
||||
conn.close()
|
||||
return dict(row) if row else None
|
||||
|
||||
def delete_relation(self, relation_id: str) -> None:
|
||||
conn = self.get_conn()
|
||||
conn.execute("DELETE FROM entity_relations WHERE id = ?", (relation_id, ))
|
||||
conn.execute("DELETE FROM entity_relations WHERE id = ?", (relation_id,))
|
||||
conn.commit()
|
||||
conn.close()
|
||||
|
||||
@@ -495,7 +499,7 @@ class DatabaseManager:
|
||||
|
||||
if existing:
|
||||
conn.execute(
|
||||
"UPDATE glossary SET frequency = frequency + 1 WHERE id = ?", (existing["id"], )
|
||||
"UPDATE glossary SET frequency = frequency + 1 WHERE id = ?", (existing["id"],)
|
||||
)
|
||||
conn.commit()
|
||||
conn.close()
|
||||
@@ -515,14 +519,14 @@ class DatabaseManager:
|
||||
def list_glossary(self, project_id: str) -> list[dict]:
|
||||
conn = self.get_conn()
|
||||
rows = conn.execute(
|
||||
"SELECT * FROM glossary WHERE project_id = ? ORDER BY frequency DESC", (project_id, )
|
||||
"SELECT * FROM glossary WHERE project_id = ? ORDER BY frequency DESC", (project_id,)
|
||||
).fetchall()
|
||||
conn.close()
|
||||
return [dict(r) for r in rows]
|
||||
|
||||
def delete_glossary_term(self, term_id: str) -> None:
|
||||
conn = self.get_conn()
|
||||
conn.execute("DELETE FROM glossary WHERE id = ?", (term_id, ))
|
||||
conn.execute("DELETE FROM glossary WHERE id = ?", (term_id,))
|
||||
conn.commit()
|
||||
conn.close()
|
||||
|
||||
@@ -539,14 +543,14 @@ class DatabaseManager:
|
||||
JOIN entities t ON r.target_entity_id = t.id
|
||||
LEFT JOIN transcripts tr ON r.transcript_id = tr.id
|
||||
WHERE r.id = ?""",
|
||||
(relation_id, ),
|
||||
(relation_id,),
|
||||
).fetchone()
|
||||
conn.close()
|
||||
return dict(row) if row else None
|
||||
|
||||
def get_entity_with_mentions(self, entity_id: str) -> dict | None:
|
||||
conn = self.get_conn()
|
||||
entity_row = conn.execute("SELECT * FROM entities WHERE id = ?", (entity_id, )).fetchone()
|
||||
entity_row = conn.execute("SELECT * FROM entities WHERE id = ?", (entity_id,)).fetchone()
|
||||
if not entity_row:
|
||||
conn.close()
|
||||
return None
|
||||
@@ -559,7 +563,7 @@ class DatabaseManager:
|
||||
FROM entity_mentions m
|
||||
JOIN transcripts t ON m.transcript_id = t.id
|
||||
WHERE m.entity_id = ? ORDER BY t.created_at, m.start_pos""",
|
||||
(entity_id, ),
|
||||
(entity_id,),
|
||||
).fetchall()
|
||||
entity["mentions"] = [dict(m) for m in mentions]
|
||||
entity["mention_count"] = len(mentions)
|
||||
@@ -598,24 +602,24 @@ class DatabaseManager:
|
||||
|
||||
def get_project_summary(self, project_id: str) -> dict:
|
||||
conn = self.get_conn()
|
||||
project = conn.execute("SELECT * FROM projects WHERE id = ?", (project_id, )).fetchone()
|
||||
project = conn.execute("SELECT * FROM projects WHERE id = ?", (project_id,)).fetchone()
|
||||
|
||||
entity_count = conn.execute(
|
||||
"SELECT COUNT(*) as count FROM entities WHERE project_id = ?", (project_id, )
|
||||
"SELECT COUNT(*) as count FROM entities WHERE project_id = ?", (project_id,)
|
||||
).fetchone()["count"]
|
||||
|
||||
transcript_count = conn.execute(
|
||||
"SELECT COUNT(*) as count FROM transcripts WHERE project_id = ?", (project_id, )
|
||||
"SELECT COUNT(*) as count FROM transcripts WHERE project_id = ?", (project_id,)
|
||||
).fetchone()["count"]
|
||||
|
||||
relation_count = conn.execute(
|
||||
"SELECT COUNT(*) as count FROM entity_relations WHERE project_id = ?", (project_id, )
|
||||
"SELECT COUNT(*) as count FROM entity_relations WHERE project_id = ?", (project_id,)
|
||||
).fetchone()["count"]
|
||||
|
||||
recent_transcripts = conn.execute(
|
||||
"""SELECT filename, full_text, created_at FROM transcripts
|
||||
WHERE project_id = ? ORDER BY created_at DESC LIMIT 5""",
|
||||
(project_id, ),
|
||||
(project_id,),
|
||||
).fetchall()
|
||||
|
||||
top_entities = conn.execute(
|
||||
@@ -624,7 +628,7 @@ class DatabaseManager:
|
||||
LEFT JOIN entity_mentions m ON e.id = m.entity_id
|
||||
WHERE e.project_id = ?
|
||||
GROUP BY e.id ORDER BY mention_count DESC LIMIT 10""",
|
||||
(project_id, ),
|
||||
(project_id,),
|
||||
).fetchall()
|
||||
|
||||
conn.close()
|
||||
@@ -645,7 +649,7 @@ class DatabaseManager:
|
||||
) -> str:
|
||||
conn = self.get_conn()
|
||||
row = conn.execute(
|
||||
"SELECT full_text FROM transcripts WHERE id = ?", (transcript_id, )
|
||||
"SELECT full_text FROM transcripts WHERE id = ?", (transcript_id,)
|
||||
).fetchone()
|
||||
conn.close()
|
||||
if not row:
|
||||
@@ -719,7 +723,7 @@ class DatabaseManager:
|
||||
FROM entity_mentions m
|
||||
JOIN transcripts t ON m.transcript_id = t.id
|
||||
WHERE t.project_id = ? GROUP BY DATE(t.created_at) ORDER BY date""",
|
||||
(project_id, ),
|
||||
(project_id,),
|
||||
).fetchall()
|
||||
|
||||
entity_stats = conn.execute(
|
||||
@@ -731,7 +735,7 @@ class DatabaseManager:
|
||||
LEFT JOIN transcripts t ON m.transcript_id = t.id
|
||||
WHERE e.project_id = ?
|
||||
GROUP BY e.id ORDER BY mention_count DESC LIMIT 20""",
|
||||
(project_id, ),
|
||||
(project_id,),
|
||||
).fetchall()
|
||||
|
||||
conn.close()
|
||||
@@ -772,7 +776,7 @@ class DatabaseManager:
|
||||
def get_attribute_template(self, template_id: str) -> AttributeTemplate | None:
|
||||
conn = self.get_conn()
|
||||
row = conn.execute(
|
||||
"SELECT * FROM attribute_templates WHERE id = ?", (template_id, )
|
||||
"SELECT * FROM attribute_templates WHERE id = ?", (template_id,)
|
||||
).fetchone()
|
||||
conn.close()
|
||||
if row:
|
||||
@@ -786,7 +790,7 @@ class DatabaseManager:
|
||||
rows = conn.execute(
|
||||
"""SELECT * FROM attribute_templates WHERE project_id = ?
|
||||
ORDER BY sort_order, created_at""",
|
||||
(project_id, ),
|
||||
(project_id,),
|
||||
).fetchall()
|
||||
conn.close()
|
||||
|
||||
@@ -832,7 +836,7 @@ class DatabaseManager:
|
||||
|
||||
def delete_attribute_template(self, template_id: str) -> None:
|
||||
conn = self.get_conn()
|
||||
conn.execute("DELETE FROM attribute_templates WHERE id = ?", (template_id, ))
|
||||
conn.execute("DELETE FROM attribute_templates WHERE id = ?", (template_id,))
|
||||
conn.commit()
|
||||
conn.close()
|
||||
|
||||
@@ -905,7 +909,7 @@ class DatabaseManager:
|
||||
FROM entity_attributes ea
|
||||
LEFT JOIN attribute_templates at ON ea.template_id = at.id
|
||||
WHERE ea.entity_id = ? ORDER BY ea.created_at""",
|
||||
(entity_id, ),
|
||||
(entity_id,),
|
||||
).fetchall()
|
||||
conn.close()
|
||||
return [EntityAttribute(**dict(r)) for r in rows]
|
||||
@@ -1075,7 +1079,7 @@ class DatabaseManager:
|
||||
def get_video(self, video_id: str) -> dict | None:
|
||||
"""获取视频信息"""
|
||||
conn = self.get_conn()
|
||||
row = conn.execute("SELECT * FROM videos WHERE id = ?", (video_id, )).fetchone()
|
||||
row = conn.execute("SELECT * FROM videos WHERE id = ?", (video_id,)).fetchone()
|
||||
conn.close()
|
||||
|
||||
if row:
|
||||
@@ -1094,7 +1098,7 @@ class DatabaseManager:
|
||||
"""获取项目的所有视频"""
|
||||
conn = self.get_conn()
|
||||
rows = conn.execute(
|
||||
"SELECT * FROM videos WHERE project_id = ? ORDER BY created_at DESC", (project_id, )
|
||||
"SELECT * FROM videos WHERE project_id = ? ORDER BY created_at DESC", (project_id,)
|
||||
).fetchall()
|
||||
conn.close()
|
||||
|
||||
@@ -1149,7 +1153,7 @@ class DatabaseManager:
|
||||
"""获取视频的所有帧"""
|
||||
conn = self.get_conn()
|
||||
rows = conn.execute(
|
||||
"""SELECT * FROM video_frames WHERE video_id = ? ORDER BY timestamp""", (video_id, )
|
||||
"""SELECT * FROM video_frames WHERE video_id = ? ORDER BY timestamp""", (video_id,)
|
||||
).fetchall()
|
||||
conn.close()
|
||||
|
||||
@@ -1201,7 +1205,7 @@ class DatabaseManager:
|
||||
def get_image(self, image_id: str) -> dict | None:
|
||||
"""获取图片信息"""
|
||||
conn = self.get_conn()
|
||||
row = conn.execute("SELECT * FROM images WHERE id = ?", (image_id, )).fetchone()
|
||||
row = conn.execute("SELECT * FROM images WHERE id = ?", (image_id,)).fetchone()
|
||||
conn.close()
|
||||
|
||||
if row:
|
||||
@@ -1219,7 +1223,7 @@ class DatabaseManager:
|
||||
"""获取项目的所有图片"""
|
||||
conn = self.get_conn()
|
||||
rows = conn.execute(
|
||||
"SELECT * FROM images WHERE project_id = ? ORDER BY created_at DESC", (project_id, )
|
||||
"SELECT * FROM images WHERE project_id = ? ORDER BY created_at DESC", (project_id,)
|
||||
).fetchall()
|
||||
conn.close()
|
||||
|
||||
@@ -1279,7 +1283,7 @@ class DatabaseManager:
|
||||
FROM multimodal_mentions m
|
||||
JOIN entities e ON m.entity_id = e.id
|
||||
WHERE m.entity_id = ? ORDER BY m.created_at DESC""",
|
||||
(entity_id, ),
|
||||
(entity_id,),
|
||||
).fetchall()
|
||||
conn.close()
|
||||
return [dict(r) for r in rows]
|
||||
@@ -1303,7 +1307,7 @@ class DatabaseManager:
|
||||
FROM multimodal_mentions m
|
||||
JOIN entities e ON m.entity_id = e.id
|
||||
WHERE m.project_id = ? ORDER BY m.created_at DESC""",
|
||||
(project_id, ),
|
||||
(project_id,),
|
||||
).fetchall()
|
||||
|
||||
conn.close()
|
||||
@@ -1377,13 +1381,13 @@ class DatabaseManager:
|
||||
|
||||
# 视频数量
|
||||
row = conn.execute(
|
||||
"SELECT COUNT(*) as count FROM videos WHERE project_id = ?", (project_id, )
|
||||
"SELECT COUNT(*) as count FROM videos WHERE project_id = ?", (project_id,)
|
||||
).fetchone()
|
||||
stats["video_count"] = row["count"]
|
||||
|
||||
# 图片数量
|
||||
row = conn.execute(
|
||||
"SELECT COUNT(*) as count FROM images WHERE project_id = ?", (project_id, )
|
||||
"SELECT COUNT(*) as count FROM images WHERE project_id = ?", (project_id,)
|
||||
).fetchone()
|
||||
stats["image_count"] = row["count"]
|
||||
|
||||
@@ -1391,7 +1395,7 @@ class DatabaseManager:
|
||||
row = conn.execute(
|
||||
"""SELECT COUNT(DISTINCT entity_id) as count
|
||||
FROM multimodal_mentions WHERE project_id = ?""",
|
||||
(project_id, ),
|
||||
(project_id,),
|
||||
).fetchone()
|
||||
stats["multimodal_entity_count"] = row["count"]
|
||||
|
||||
@@ -1399,7 +1403,7 @@ class DatabaseManager:
|
||||
row = conn.execute(
|
||||
"""SELECT COUNT(*) as count FROM multimodal_entity_links
|
||||
WHERE entity_id IN (SELECT id FROM entities WHERE project_id = ?)""",
|
||||
(project_id, ),
|
||||
(project_id,),
|
||||
).fetchone()
|
||||
stats["cross_modal_links"] = row["count"]
|
||||
|
||||
|
||||
Reference in New Issue
Block a user