diff --git a/edu_master/webinar-checker/checker.py b/edu_master/webinar-checker/checker.py index 7adcc5b..011a5a5 100644 --- a/edu_master/webinar-checker/checker.py +++ b/edu_master/webinar-checker/checker.py @@ -518,11 +518,28 @@ def get_schedule_class_keyboard(classes: list): return InlineKeyboardMarkup(rows) +def _get_chat_class(chat, user_id) -> str | None: + """Get stored schedule class for a private user or a group chat.""" + if chat.type == 'private': + return redis_client.get(f'user:{user_id}:schedule_class') + return redis_client.get(f'chat:{chat.id}:schedule_class') + + +def _set_chat_class(chat, user_id, class_num) -> None: + """Save schedule class for a private user or a group chat.""" + if chat.type == 'private': + redis_client.set(f'user:{user_id}:schedule_class', str(class_num)) + else: + redis_client.set(f'chat:{chat.id}:schedule_class', str(class_num)) + + def _parse_schedule_cell(cell_html: str) -> list: """Parse a single schedule cell, returning list of {subject, note, teacher}.""" lessons = [] parts = re.split(r'