Получение тегов с сервера только при обновлении БД. Исправил баг с предупреждением об устаревшей БД, когда не указан vetro_project
This commit is contained in:
24
db/db.py
24
db/db.py
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user