import datetime from requests import get import settings fields = [ 'discipline', 'building', 'auditorium', 'date', 'beginLesson', 'endLesson', 'lecturer' ] class RUZ: def find_person(self, name: str) -> dict | None: search_str = settings.RUZ_API + f"search?term={name}&type=student" try: data = get(search_str) except: return None if data.status_code == 200: return data.json() return None def get_schedule(self, hse_id: int, begin_date: datetime.datetime, end_date: datetime.datetime): start_date_str = begin_date.strftime("%Y.%m.%d") end_date_str = end_date.strftime("%Y.%m.%d") search_str = settings.RUZ_API + f"schedule/student/{hse_id}?start={start_date_str}&finish={end_date_str}&lng=1" try: data = get(search_str) except: return None if data.status_code != 200: return None data = data.json() formatted_data = [ { field: element[field] for field in fields } for element in data ] return formatted_data def schedule_builder(self, lessons: list[dict]) -> str: ans = "" for lesson in lessons: ans += "Аудитория: " + lesson["building"] + ", " + lesson["auditorium"] + "\n" ans += "Начало: " + lesson["begin"].strftime("%H:%M") + "\n" ans += "Конец: " + lesson["end"].strftime("%H:%M") + "\n" ans += "Преподаватель: " + lesson["lecturer"] + "\n" ans += "_______________\n" return ans ruz = RUZ()