Получение тегов с сервера только при обновлении БД. Исправил баг с предупреждением об устаревшей БД, когда не указан vetro_project

This commit is contained in:
2025-06-19 11:19:48 +03:00
parent b5a9232467
commit 77f35bc757
3 changed files with 42 additions and 13 deletions

View File

@@ -35,9 +35,12 @@ class Database:
for act in activities:
if is_updated:
tags = self.cursor.execute("SELECT * FROM tag WHERE id = ?", (act.tag_id, )).fetchall()
vetro_projects = self.cursor.execute("SELECT * FROM vetro_project WHERE id = ?", (act.vetro_project_id, )).fetchall()
if not tags or not vetro_projects:
is_updated = False
vetro_project_id = act.vetro_project_id
if vetro_project_id:
vetro_projects = self.cursor.execute("SELECT * FROM vetro_project WHERE id = ?", (vetro_project_id, )).fetchall()
is_updated = tags or vetro_projects
else:
is_updated = bool(tags)
try:
self.cursor.execute(
"INSERT INTO activity VALUES(?,?,?,?,?,?,?,?,?,?)",
@@ -193,3 +196,18 @@ class Database:
}
except Exception as e:
logging.error(e)
def get_tags(self) -> list[Tag]:
"""Получает теги из бд"""
try:
tags = self.cursor.execute("SELECT * FROM tag").fetchall()
return [
Tag(
id=tag[0],
title=tag[1]
)
for tag in tags
]
except Exception as e:
logging.error(e)