Скрипты в помощь Яндекс Лицеистам
У Яндекс.Лицея, как и у всех сервисов Яндекса, есть api, доступ к которому можно получить просто авторизовавшись.
Так почему же не использовать его и для собственных благих целей?
pip install -r requirements.txt
Создайте файл credentials.txt и сохраните в нем логин и пароль, разделённые пробелом.
Так, во-первых, вам не придётся каждый раз его вводить.
Во-вторых, даже если рядом и будет кто-то стоять, ваши данные в безопасности.
Файл добавлен в .gitignore, так что с ним точно ничего не случится.
SAVE_IT_ALL.py
Сохраняет все решения задач и материалы уроков.
по наличию их, собственно, в уроке
С навигацией и более качественным сохранением материалов.
rating.py
Узнать рейтинг, который будет присвоен вам после проверки всех непроверенных ручных задач.
count_errors.py
Статистика ошибок контеста, которые вы собрали за всё время. (wrong-answer, compilation-error and so on...)
Работает на основе уведомлений Лицея.
count_tasks.py
Скрипт считает количество задач каждого типа и первичные баллы за них.
search.py
Поиск по задачам. Сначала получает все задачи, поэтому перед поиском придётся подождать примерно 10 секунд.
Благодаря этому, поиск будет очень быстрым, так как вся необходимая информация о задачах будет храниться уже в
оперативной памяти компьютера.
count_not_solved_tasks.py
Находит все нерешённые или незачтённые задачи, дедлайн для которых ещё не наступил, и выводит их вместе с названием урока.
methods.py
В этом файле находятся функции для работы с api.
auth(s, login, password)
get_and_auth()
credentials.txt
и возвращает авторизованную сессиюget_lesson_ids(s, course_id, group_id)
get_material_id(s, lesson_id)
get_material_html(s, lesson_id, group_id, material_id)
get_all_tasks(s, lesson_id, course_id)
get_lesson_info(s, lesson_id, group_id, course_id)
get_all_lessons(s, course_id, group_id)
get_solution(s, solution_id)
get_notifications(s)
get_courses_groups_ids(s)
get_course(s, with_rating=False)