feat: added seseion for sqlite, alembic and ruff, model Timerr, schemas.py, mixin for id, cruds: create timer, get timer, settings.py for db
This commit is contained in:
@@ -4,7 +4,7 @@ from os import path, listdir
|
||||
|
||||
from kawai_focus.main import Logger
|
||||
from kawai_focus.utils.errors import ErrorMessage
|
||||
from kawai_focus.utils.validators import TimerValidator
|
||||
from kawai_focus.schemas import TimerTimeModel
|
||||
|
||||
|
||||
class ReadJson:
|
||||
@@ -44,7 +44,7 @@ class ReadJson:
|
||||
data_json = ReadJson(folder_json='json')
|
||||
|
||||
|
||||
def custom_timer(valid_data: TimerValidator) -> Generator[str, None, None]:
|
||||
def custom_timer(valid_data: TimerTimeModel) -> Generator[str, None, None]:
|
||||
"""Функция отсчитывает время, установленное для таймера в формате
|
||||
'hh:mm:ss'. Возвращает генератор, который возвращает текущее время
|
||||
в формате 'hh:mm:ss'."""
|
||||
|
||||
@@ -1,28 +0,0 @@
|
||||
from dataclasses import dataclass
|
||||
from kawai_focus.utils.errors import ErrorMessage
|
||||
|
||||
|
||||
@dataclass
|
||||
class TimerValidator:
|
||||
"""Класс для валидации функции таймера."""
|
||||
|
||||
hh: int = 0
|
||||
mm: int = 0
|
||||
ss: int = 0
|
||||
|
||||
def __post_init__(self):
|
||||
if not all(isinstance(value, int) for value in (self.hh, self.mm, self.ss)):
|
||||
raise TypeError(ErrorMessage.NOT_INT_TYPE.value)
|
||||
|
||||
if self.ss == 0 and self.mm == 0 and self.hh == 0:
|
||||
raise ValueError(ErrorMessage.NO_TIME.value)
|
||||
|
||||
if self.ss < 0 or self.mm < 0 or self.hh < 0:
|
||||
raise ValueError(ErrorMessage.NEGATIVE_TIME.value)
|
||||
|
||||
if self.ss > 59 or self.mm > 59:
|
||||
raise ValueError(ErrorMessage.SS_MM_BIG.value)
|
||||
|
||||
if self.hh > 23:
|
||||
raise ValueError(ErrorMessage.HH_BIG.value)
|
||||
|
||||
Reference in New Issue
Block a user