• v4.3 fee2a2fada

    v4.3 Stable

    Milinuri Nirvalen released this 2023-03-10 21:39:33 +04:00 | 421 commits to main since this release

    Начало цикла обновлений с целью полной переработки парсера.

    Schedule

    • Полное изменение формата списка изменений.
    • Функция get_day_hash() для получения хеша списка уроков на день.
    • Функция send_cl_updates() для отправки изменений "для класса".
    • Атрибут updates для получение полного списка изменений расписания.

    Messages

    • Вместо send_update_page() -> send_update().

    Telegram

    • Изменён формат callback_data для inline клавиатуры.
    • Добавлены описания некоторым функциям.
    • Временно убрана возможность получение списка изменений для класса.
    • В справке примеры были перемещены в начало сообщения.
  • 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(): Просмотр расписания от имена кабинета.
  • v3.1 709970a831

    Milinuri Nirvalen released this 2022-12-06 18:12:22 +04:00 | 440 commits to main since this release

    Небольшой общий рефакторинг проекта.
    Смена мажорной версии обусловлена отделением класса генератора сообщений
    от класса расписания.

    Features

    • Просмотр самых частых кабинетов.
    • Поиск по урокам/кабинетам.

    Parser

    • Метод сравнения двух расписаний вынесен в отдельную функцию.
    • Изменены некоторые имена аттрибутов и методов для большей логичности.
    • Индекс уроков также стал группироваться по кабинетам.
    • Добавлен общий метод для поиска в расписании.

    Messages

    Методы для сборки сообщений были отделены в свой класс - SPMessages.
    Далее этот класс представления может называться как генератор сообщений.

  • v2.4 aa4c24f0c9

    Milinuri Nirvalen released this 2022-11-23 20:29:19 +04:00 | 442 commits to main since this release

    Это обновление меняет систему отслеживания изменений.
    Также привносит некоторые исправления и улучшения.
    Обёртки обновлены до последней версии парсера.

    • Обновлённая система поиска изменений в расписании.
      Вместо того, чтобы каждый раз производить сравнение, новая система
      проводит общее сравнение расписания для всех классов при загрузке
      расписания. Это значительно увеличивает производительно в
      промежутках загрузки расписания, хоть и замедляет саму загрузку
      и обработку.
    • get_schedule_diff() - Метод полного сравнения двух расписаний.
    • update_diff_file() - Запись изменений об обновлениях в файл.
    • Изменён способ проверки обновлений расписания пользователя.
    • print_sc_changes() - Метод отображения изменений в расписании.
    • Исправлено отсутствие оповещений об изменениях в расписании.
    • Исправлено получение расписания на сегодня/завтра.
  • v2.3 39b34c61da

    Milinuri Nirvalen released this 2022-11-17 15:35:49 +04:00 | 443 commits to main since this release

    • Изменены имена некоторых атрибутов для большей логичности.
    • Изменения в структуре файла расписания.
    • Небольшая оптимизация метода get_lessons_index().
    • Упрощён метод подсчёта уроков count_lessons().
    • search_lessons() Добавлена возможность сортировки результатов поиска по дням.
    • Некоторые изменения в текстах сообщений.
  • v2.2 9124edc401

    v2.2: Index Stable

    Milinuri Nirvalen released this 2022-11-15 21:51:06 +04:00 | 445 commits to main since this release

    Расписание уроков, где как ключ вместо класса используется название
    урока или кабинета. На данный момент только урока.

    Parser

    • Добавлено получение индекса уроков.
    • Новые методы get_lessons_index(), count_lessons(), search_lessons().
    • В сообщение статуса добавлена информация о классах и предметах.
  • v2.1 a88f69f661

    Milinuri Nirvalen released this 2022-11-13 13:54:45 +04:00 | 446 commits to main since this release

    Добавлены новые параметры для работы с пользователем.
    Первое сообщение со статусом парсера.
    Обновление всех обёрток до актуальной версии парсера.
    Добавлено предупреждение, если пользователь не указал класс.

    • Добавлены новые параметры пользователя.
      • set_class - Установлен ли класс у пользователя.
      • last_parse - Время последней проверки расписания пользователем.
    • Обновлён метод сравнения хешей дней для повышения скорости работы.
    • Новый метод print_status() основной информации о состоянии парсера.
  • v2.0 72dfcbfe61

    Milinuri Nirvalen released this 2022-11-13 13:07:14 +04:00 | 448 commits to main since this release

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

    Parser

    • Переименован атрибут schedule -> lessons.
    • Пустые уроки очищаются на стадии загрузки расписания одни раз.
    • В файл расписания добавлена отметка последней загрузки расписания.
    • Некоторые изменения стиля сообщений.
    • Упрощение кода проверки диапазона дней в print_lessons().
  • v1.6 38d8f3daf6

    Milinuri Nirvalen released this 2022-11-07 16:01:37 +04:00 | 449 commits to main since this release

    • Добавлена поддержка расписания звонков.
    • Переработаны методов получение и обработки расписания.
    • Новые методы get_class(), get_lessons(), get_schedule_changes().
    • Некоторые изменения в текстах сообщений методов парсера.
    • Исправления в методе пропуска пустых уроков расписания.
    • В расписание уроков добавлено время начала и конца урока.
    • Метод print_today_lessons() для умного получения уроков на сегодня/завтра.
  • v1.4 8fa04055b3

    v1.4: Clean Stable

    Milinuri Nirvalen released this 2022-10-19 14:48:52 +04:00 | 454 commits to main since this release

    Общая чистка кода проекта.

    Parser

    • Изменено поведение уведомлений об изменениях.
      Теперь они отправляют расписание для дней, где оно изменилось.
    • Возможность "отсекать" пустые уроки с конца расписания.
    • Возможность получения расписания сразу на несколько дней.
    • Исправлено получение расписания для других классов.

    Console

    • Возможность получить расписание на всю неделю.