changelog.md 12 KB

Changelog

10 Mar 2023: v4.3

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

Schedule:

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

SPMessages:

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

Telegram:

  • Изменён формат callback_data для inline клавиатуры.
  • Добавлены описания некоторым функциям.
  • Временно убрана возможность получение списка изменений для класса.
  • В сообщении справки примеры были перемещены наверх

3 Mar 2923: v4.2

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

Schedule:

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

SPMessages:

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

И ещё пара незначительных изменений.

21 Dec 2022: v3.2

  • ChioPlugin: Обновление до sp v3.2
  • ChioPlugin: Добавлена команда для подсчёта кабинетов
  • Console: Обновление до sp v3.2
  • Parser: Некоторые атрибуты и методы отмечены приватными
  • Parser: Использование property для l_index, c_index
  • SPMessages: Исправлен метод подсчёта кабинетов

12 Dec 2022: v3.1.1

  • Parser: Изменено обращение с пустыми значениями

6 Dec 2022: v3.1

Небольшой рефакторинг проекта.

Новые возможности:

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

Изменения:

  • ChioPlugin: Обновление до sp v3.1
  • Console: Обновление до sp v3.1
  • Console: Добавлена команда для небольшой отладки
  • Parser: Вынесена функция получение разницы в 2х рассписаниях
  • Parser: Изменены некоторые имена аттрибутов и методов
  • Parser: В индекс уроков теперь группируется и по кабинетам
  • Parser: Общий метод поиска по урокам/кабинетам - search()
  • SPMessages: Методы сборки сообщений были отделены в свой класс
  • SPMessages: Небольшие изменения стиля

27 Nov 2022: Rename tparser -> sparser

Странно, что это было сделано только сейчас.

  • Console: Переписана на argparse

23 Nov 2022: v2.4.1

  • ChioPlugin: Обновление до sp v2.4.1
  • ChioPlugin: Небольшие обновления
  • Console: Обновление до sp v2.4.1
  • Parser: Новая система поиска изменений в расписании
  • Parser: get_schedule_diff(): Полное сравнение 2х расписаний
  • Parser: update_diff_file(): Сохранение измененй расписания в файл
  • Parser: Изменён способ проверки изменений в расписании пользователя
  • Parser: print_sc_changes(): Отображает изменения в расписании
  • Parser: Исправлено отцуцтвие оповещение об изменениях в расписании
  • Parser: Исправлено получение расписания на сегодня/завтра

16 Nov 2022: v2.3

  • ChioPlugin: Совмещены некоторые команды
  • Parser: Изменены имена атрибутов
  • Parser: Изменения в структуре sc.json
  • Parser: Небольшая оптимизация метода get_lessons_index
  • Parser: Упрощение метода count_lessons
  • Parser: search_lessons, отображения результатов для определённых дней
  • Parser: Некоторые изменения в текстах сообщений

15 Nov 2022: v2.2

  • ChioPlugin: Исправлено получение расписания на завтра
  • ChioPlugin: Обновление до sp v2.2
  • Console: Обновление до sp v2.2
  • Parser: Добавлено получение индекса уроков
  • Parser: Новые методы get_lessons_index, count_lessons, search_lessons
  • Parser: В статус добавлена информация о классах и предметах

Дополнение:

  • ChioPlugin: Добавлена возможность автопост расписания

13 Nov 2022: v2.1

  • Добавлено предупрждение, если не указан класс по умолчанию
  • Chio Plugin: Обновление до sp v2.1
  • Console: Обновление до sp v2.1
  • Parser: Добавлены параметры пользователя set_class, last_parse
  • Parser: Обновление метода сравнения хешей дней для повышения скорости работы
  • Parser: Добалвен метод print_status для просмотра статуса парсера

13 Nov 2022: v2.0

  • Console: Обновление описания и команд
  • Console: Обновление до sp v2.0
  • Parser: schedule -> lessons
  • Parser: Изменения названий перемнных и параметров для большей понятности
  • Parser: Очистка пустых уроков на стадии парсинга расписания
  • Parser: В sc.json добавлен парамет last_parse для отметки последнего обновления
  • Parser: Некоторые изменения в стиле сообщений
  • Parser: Упрощения кода проверки дней в print_lessons

7 Nov 2022: v1.6

  • Chio Plugin: Исправлено получение расписания для других дней
  • Chio Plugin: Обновление до sp v1.6
  • Console: Обновление до sp v1.6
  • Telegram: Правки для запуска с sp v1.6
  • Parser: Добавлено расписание звонков
  • Parser: Переработка методов получение и парсинга расписания
  • Parser: Новые методы get_class, get_lessons, get_schedule_changes
  • Parser: Изменение текста сообщений
  • Parser: Исправление пропуска пустых уроков
  • Parser: Добавдено расписание звонков в расписание уроков
  • Parser: Метод print_today_lessons для умного получения уроков на сегодня/завтра

23 Oct 2022: v1.4.2

Parser.print_lessons():

  • Ограничение диапазона дней
  • Удаление повторов в днях
  • Сортировка дней по возврастанию

21 Oct 2022

  • Chio Plugin: Обновление до sp 1.4

18 Oct 2022: v1.4

  • Небольшая чистка кода
  • Console: Получение расписания на всю неделю
  • Parser: Отображение расписания для дней, где оно изменилось
  • Parser: Отсечение пустых уроков с конца

17 Oct 2022: v1.3

  • Parser: Возможность получения расписания для нескольких дней

16 Oct 2022: v1.2

  • Parser: Исправлено получение расписания других классов

14 Oct 2022: v1.1

  • Console: parser - принудительно обновить расписание
  • Parser: Исправлен парсинг субботы.
  • Parser: Добавлен аргумент update=False, для принудительного обновления.

12 Oct 2022: v1.0

  • Parser: Вынесен в отдельный файл sparser.py
  • Parser: Добавлены оповещения об изменениях в расписании
  • Parser: Убрано парсирование расписания звонков
  • Telegram: Обновлён и немного исправлен код
  • Console: Добавлена лёгкая обёртка над парсером

10 Oct 2022: v1.0m

Основан на оригинальном исходном коде от Артёма Березина.

Отличия от оригинала:

  • Исправлены зависимости
  • Подчищен код
  • Переписан парсер
  • Исправлены некоторые проблемы
  • Немного переписаны тексты сообщений
  • Убрано упоминание ВПР
  • Добавлена возможность сохранения данных в файл