ruz-bot/helpers/models.py
Administrator 4c4fc87647 fix time
2022-10-22 20:53:55 +03:00

40 lines
850 B
Python

import datetime
from dataclasses import dataclass
from typing import Optional
import marshmallow_dataclass
from marshmallow import EXCLUDE, post_load
@dataclass
class User:
chat_id: int
name: Optional[str] = None
group: Optional[str] = None
hse_id: Optional[int] = None
state: str = "new"
notify_minutes: Optional[int] = 10
daily_notify_time: Optional[str] = None
next_daily_notify_time: Optional[datetime.datetime] = None
class Meta:
unknown = EXCLUDE
@dataclass
class Lesson:
hse_id: int
USchema = marshmallow_dataclass.class_schema(User)
class UserSchema(USchema):
@post_load
def stringify_time(self, in_data, **kwargs):
if 'next_daily_notify_time' in in_data:
in_data['next_daily_notify_time'] = str(in_data['next_daily_notify_time'])
return in_data