sp.filters
: Переведено на использование датаклассов.sp.spm
: Нормальное отображение номеров уроков в списке изменений.sp.spm
: Исправлено отображение пустых результатов поиска.sp.spm
: Исправлено отображения расписания для внеурочного времени.sp.spm
: Исправлена отправка результатов поиска.Общее улучшение качества кода.
Смена мажорной версии обусловлена разбиением sp.py
на множество файлов.
Цикл обновлений с целью полной переработкой проекта завершён.
Schedule:
_uppdate_diff_file()
: теперь использует collections.deque
.search()
: для поиска данных в расписанииget_updates()
для более гибкого получения списка обновлений.SPMessages:
set_class()
больше не возвращает результат работы.reset_user()
для сброса данных пользователя.search_lesson()
и search_cabinet()
.send_day_lessons()
: Сильно изменён формат отображения уроков.send_lessons()
: При изменении расписания отображает сам список изменений.send_users_stats()
.send_today_lessons()
: Вернулось умное отображение расписания.Telegram:
v1.8
./start
и /help
./sp
./users
.Filter
: Класс, предоставляющий набор фильтров при получении расписания.send_update()
: Вынесена как отдельная функция.send_day_lessons()
: Вынесена как отдельная функция.Schedule:
search()
за ненадобностью.SPMeaasges
перенесены get_class()
и get_lessons()
.Spmessages:
Schedule
как аргумент.send_users_stats()
: Отправляет статистику о пользователях.send_lessons()
: Переведён на использлвание Filters
.send_today_lessons()
: Переведён на использлвание Filters
.send_today_lessons()
: Переведено на статическое смещение дней.count_lessons()
: Испралвена совместимость со старыми версиями Python.
Filters
.search_cabinet()
: Переведено на использование Filters
.
Telegram:
sp v4.6
.updates_command()
: Исправлено получение обновлений.users_command()
: Добавлена команда для отправки статистики пользователей.get_index()
: Оптимизация функции и формата индексов._update_index_file()
: Немного изменён формат хранения индексов.count_lessons()
: Использование collections.Counter()
.clear_day_lessons()
: Маленькая функция для очистки списка уроков.parse_lessons()
: Была вынесена как отдельная функция.
group_update()
: Была удалена, т.к. не используется.Начало цикла обновлений с целью полной переработки парсера.
Schedule:
get_day_hash()
для получения хеша списка уроков на день.send_cl_updates()
для отправвки изменений "для класса".updates
для получение полного списка изменений расписания.SPMessages:
send_update_page() -> send_update()
.Telegram:
callback_data
для inline клавиатуры.Само обновление вышло намного-намного раньше, но попало сюда только сейчас. Зато, можно считать его обкатанным и готовым к выпуску. Переписана большая часть кода. Оптимизация, новые фишечки, упрощение чтения самого кода!
Schedule:
ScheduleParser
: Стал независимым от пользователей и переимеован в Schedule
.os.path.exists
испльзуется Pathlib
.loguru
.sp_data/
, а не в корень проекта.save_file()
: Добавлено автоматическое создание родительских директорий.l_index, c_index
-> get_index()
._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()
: Просмотр расписания от имена кабинета.И ещё пара незначительных изменений.
Parser:
@property
для l_index, c_index
.SPMessages:
Wrappers:
Console
: Обновлено до sp v3.2
.Chio
: Обновленио. до sp v3.2
.Chio
: Добавлена команда для подсчёта кабинетов.Parser
: Изменено обращение с пустыми значениями.Небольшой рефакторинг проекта.
Новые возможности:
Parser:
search()
.SPNessages:
Wrappers:
Chio
: Обновлено до sp v3.1
.Console
: Обновлено до sp v3.1
.Console
: Добавлена команда для небольшой отладки.Странно что это было сделано только сейчас.
Console
: Переписано на argparse
.Parser:
get_schedule_diff()
: Полное сравнение 2х расписаний.update_diff_file()
: Сохранение измененй расписания в файл.print_sc_changes()
: Отображает изменения в расписании.Wrappers:
Console
: Обновленио до sp v2.4.1
.Chio
: Обновлено до sp v2.4.1
.Chio
: Небольшие обновления.Parser:
sc.json
.get_lessons_index()
.count_lessons()
.search_lessons()
, отображения результатов для определённых дней.Wrappers:
Chio
: Совмещены некоторые команды.Parser:
get_lessons_index()
, count_lessons()
, search_lessons()
.Wrappers:
Chio
: Обновлено до sp v2.2
.Chio
: Исправлено получение расписания на завтра.Chio
: Ленивый автопост расписания.Console
: Обновлено до sp v2.2
.Parser:
set_class
, last_parse
.print_status()
для просмотра информации о парсере.Wrappers:
Chio
: Обновлено до sp v2.1
.Console
: Обновлено до sp v2.1
.Parser:
schedule -> lessons
.sc.json
добавлен параметр last_parse
для отметки последнего обновления.print_lessons()
.Wrappers:
Console
: Обновлено до sp v2.0
.Console
: Обновлены описания к командам.Parser:
get_class()
, get_lessons()
, get_schedule_changes()
.print_today_lessons()
для умного получения уроков на сегодня/завтра.Wrappers:
Chio
: Обновлено до sp v1.6
.Chio
: Исправлено получение расписания для других дней.Console
: Обновление до sp v1.6
.Telegram
: Правки для запуска на sp v1.6
.Parser:
print_lessons()
:
Chio
: Обновлено до sp v1.4
.Parser:
Wrappers:
Console
: Получение расписания на всю неделю.Parser
: Возможность получения расписания не несколько дней.Parser
: Исправлено получение расписания для других классов.Parser:
update=False
, для принудительного обновления.Wrappers:
Console
: parse - принудительно обновить расписание.Parser:
sparser.py
.Wrappers:
Telegram
: Обновлён и немного исправлен код.Console
: Добавлена лёгкая обёртка над парсером.Основан на оригинальном исходном коде от Артёма Березина.
Отличия от оригинала: