Skip to content

Commit

Permalink
Обновление. Добавлен метод Task.get_all_logs
Browse files Browse the repository at this point in the history
  • Loading branch information
gil9red committed Sep 15, 2024
1 parent 36099c7 commit 786614f
Showing 1 changed file with 23 additions and 0 deletions.
23 changes: 23 additions & 0 deletions db.py
Original file line number Diff line number Diff line change
Expand Up @@ -327,6 +327,29 @@ def get_current_run(self) -> Optional["TaskRun"]:
items = self.get_runs_by([TaskRunStatusEnum.RUNNING])
return items[0] if items else None

# TODO: фильтрация? like работает с кириллицей?
# TODO: в тесты
def get_all_logs(
self,
filter_by_text: str | None = None,
page: int = 1,
items_per_page: int = 10,
) -> list["TaskRunLog"]:
filters = [
TaskRunLog.task_run.in_(
TaskRun.select(TaskRun.id).where(TaskRun.task == self)
),
]
if filter_by_text:
filters.append(
TaskRunLog.text.ilike(f"%{filter_by_text}%")
)

query = TaskRunLog.select().where(*filters)
query = query.paginate(page, items_per_page)

return list(query)


class TaskRun(BaseModel):
task = ForeignKeyField(Task, on_delete="CASCADE", backref="runs")
Expand Down

0 comments on commit 786614f

Please sign in to comment.