Много чего сделал
This commit is contained in:
48
db/db.py
48
db/db.py
@@ -4,6 +4,7 @@ import sqlite3 as sq
|
||||
from colorama import Fore
|
||||
|
||||
from classes import Activity, ActivityType, Tag, VetroProject
|
||||
from classes.classes import Task
|
||||
from enums import ActivityTypes
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
@@ -228,7 +229,7 @@ class Database:
|
||||
except Exception as e:
|
||||
logging.error(e)
|
||||
|
||||
def insert_tasks(self, tasks: list[dict]):
|
||||
def insert_tasks(self, tasks: list[Task]):
|
||||
"""Сохраняет в БД Задачи из Redmine"""
|
||||
for task in tasks:
|
||||
try:
|
||||
@@ -244,7 +245,16 @@ class Database:
|
||||
"project"
|
||||
)
|
||||
VALUES(?, ?, ?, ?, ?, ?, ?, ?)""",
|
||||
[v for k, v in task.items()])
|
||||
[
|
||||
task.id,
|
||||
task.subject,
|
||||
task.description,
|
||||
task.status,
|
||||
task.priority,
|
||||
task.author,
|
||||
task.tracker,
|
||||
task.project,
|
||||
])
|
||||
except sq.IntegrityError:
|
||||
self.cursor.execute("""
|
||||
UPDATE task
|
||||
@@ -257,15 +267,33 @@ class Database:
|
||||
"project" = ?
|
||||
WHERE "id" = ?""",
|
||||
(
|
||||
task["subject"],
|
||||
task["description"],
|
||||
task["status"],
|
||||
task["priority"],
|
||||
task["author"],
|
||||
task["tracker"],
|
||||
task["project"],
|
||||
task["id"]
|
||||
task.subject,
|
||||
task.description,
|
||||
task.status,
|
||||
task.priority,
|
||||
task.author,
|
||||
task.tracker,
|
||||
task.project,
|
||||
task.id
|
||||
)
|
||||
)
|
||||
finally:
|
||||
self.con.commit()
|
||||
|
||||
def get_tasks(self) -> list[Task]:
|
||||
"""Получает задачи из бд"""
|
||||
try:
|
||||
return [
|
||||
Task(**{
|
||||
"id": task[0],
|
||||
"subject": task[1],
|
||||
"description": task[2],
|
||||
"status": task[3],
|
||||
"priority": task[4],
|
||||
"author": task[5],
|
||||
"tracker": task[6],
|
||||
"project": task[7]
|
||||
}) for task in self.cursor.execute("SELECT * FROM task").fetchall()
|
||||
]
|
||||
except Exception as e:
|
||||
logging.error(e)
|
||||
|
||||
Reference in New Issue
Block a user