• v4.2 94251d0785

    Milinuri Nirvalen released this 2023-03-03 22:09:52 +04:00 | 426 commits to main since this release

    Само обновление вышло намного-намного раньше, но попало сюда только сейчас.
    Зато, можно считать его обкатанным и готовым к выпуску.
    Переписана большая часть кода.
    Оптимизация, новые фишки, упрощение чтения самого кода!

    Смена мажорной версии обусловлена значительными несовместимыми изменениями
    в проекте.

    Schedule

    • Класс стал независимым от пользователей и переименован в Schedule.
    • Весь код стал наполнился подсказками типов.
    • Вместо os.path.exists используется Pathlib.
    • Для ведения логирование теперь используется модуль loguru.
    • Данные проекта теперь будут сохранятся в директорию sp_data вместо корня.
    • save_file(): Добавлено автоматическое создание родительских директорий.
    • Полностью изменён формат хранения расписания -> лучше читаемость.
    • Изменён формат файла списка изменений.
    • Единая функция для получения l_index, c_index -> get_index().
    • Индексы теперь обновляются вместе с расписанием, а не каждый раз.
    • Парсер теперь сам определяет начало нового дня и сколько уроков.
    • Обновление расписания перенесено из get_schedule() в _process_update().
    • _process_update(): Добавлен обработчик исключений при неудачной загрузке.
    • _process_update(): Расписание обновляется теперь точно через 3600 секунд.
    • Метод get_schedule() -> get().

    Messages

    • send_status(): Новый стиль сообщения статуса.
    • send_status(): Добавлено перечисление всех доступных классов.
    • Для просмотра изменений используется новые методы
      get_updates_pages() и send_updates_page().
    • Вновь изменились стили сообщений: {урок}:{кабинет}.
    • Единая функция для подсчёта уроков/кабинетов count_lessons().
    • count_lessons(): Отметка кабинетов/уроков, которые используются единожды.
    • search_cabinet(): Просмотр расписания от имена кабинета.