Schedule

class scheduler.Date

Вспомогательный класс, содержащий строковые представления дат

property day_after_tomorrow

Возвращает послезавтрашнюю дату в формате ГГГГ-ММ-ДД

property today

Возвращает сегодняшнюю дату в формате ГГГГ-ММ-ДД

property tomorrow

Возвращает послезавтрашнюю дату в формате ГГГГ-ММ-ДД, если сегодня суббота, завтрашнюю в любой другой день

class scheduler.Schedule(date: str, gid: str = '324')

Класс, переводящий расписание из сырой веб-страницы в читаемую строку

date

Дата в формате ГГГГ-ММ-ДД, используемая для получения расписания

Type

str

gid

Идентификатор группы, для которой нужно получать расписание

Type

str

Пример

d = Date() # Новый объект конструктора дат
sch = Schedule(d.today) # Новый объект конструктора расписания
sch.get_raw() # Соединение с сервером, получение свежего
# расписания на сегодня
if sch.is_exist():  # Проверка наличия расписания
    text = sch.generate() # Генерация расписания в читаемом виде
clean() → List[list]

Чистит объект вебскрапера от мусорных данных и оставляет только то, что относится к расписанию

Результат

Список со списками. Каждый вложенный список описывает пару ( номер, название предмета, преподавателя, кабинет)

Тип результата

List[list]

generate() → str

Собирает расписание в читаемую строку

get_raw()

Подключается к серверу и получает расписание как объект вебскрапера

is_exist() → bool

Проверяет наличие расписания, основываясь на присутствии плашек «Расписание отстутствует» и «Расписание составлено, но не опубликовано» и содержимом таблицы с расписанием

Результат

Флаг, указывающий на существование расписания

Тип результата

bool

scheduler.listen()

Слушает сервер на предмет наличия расписания. Если находит - отправляет, иначе ждет 15 минут

scheduler.send()

Отправляет расписание в активную беседу и в ЛС подписчикам рассылки «Расписание»