-
v4.3 Stable
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 клавиатуры. - Добавлены описания некоторым функциям.
- Временно убрана возможность получение списка изменений для класса.
- В справке примеры были перемещены в начало сообщения.
-
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: Messages generator Stable
released this
2022-12-06 18:12:22 +04:00 | 440 commits to main since this releaseНебольшой общий рефакторинг проекта.
Смена мажорной версии обусловлена отделением класса генератора сообщений
от класса расписания.Features
- Просмотр самых частых кабинетов.
- Поиск по урокам/кабинетам.
Parser
- Метод сравнения двух расписаний вынесен в отдельную функцию.
- Изменены некоторые имена аттрибутов и методов для большей логичности.
- Индекс уроков также стал группироваться по кабинетам.
- Добавлен общий метод для поиска в расписании.
Messages
Методы для сборки сообщений были отделены в свой класс -
SPMessages.
Далее этот класс представления может называться как генератор сообщений. -
v2.4: Update checker Stable
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: Refactoring Stable
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: Index Stable
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: Default class Stable
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: Progressive api Stable
released this
2022-11-13 13:07:14 +04:00 | 448 commits to main since this releaseСмена мажорной версии обусловлено многочисленными внутренними изменениями.
Parser
- Переименован атрибут
schedule -> lessons. - Пустые уроки очищаются на стадии загрузки расписания одни раз.
- В файл расписания добавлена отметка последней загрузки расписания.
- Некоторые изменения стиля сообщений.
- Упрощение кода проверки диапазона дней в
print_lessons().
- Переименован атрибут
-
v1.6: Today schedule Stable
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: Clean Stable
released this
2022-10-19 14:48:52 +04:00 | 454 commits to main since this releaseОбщая чистка кода проекта.
Parser
- Изменено поведение уведомлений об изменениях.
Теперь они отправляют расписание для дней, где оно изменилось. - Возможность "отсекать" пустые уроки с конца расписания.
- Возможность получения расписания сразу на несколько дней.
- Исправлено получение расписания для других классов.
Console
- Возможность получить расписание на всю неделю.
- Изменено поведение уведомлений об изменениях.