Если вы хоть раз делали это на протяжении семестра, у вас не возникнет вопроса "зачем?"
-
Для работы нужен python 2.7. Обычно он установлен по умолчанию, но если нет: https://www.python.org/download/releases/2.7/
-
Дальше ставим virtualenv https://virtualenv.pypa.io/en/stable/installation/
-
Создаем virtual env:
mkvirtualenv dev
dev можно заменить на любое другое название.
Эта команда создаст изолированную среду питона в папке ~/.virtualenvs. Активировать ее для текущей консольной сессии можно с помощью
source ~/.virtualenvs/dev/bin/activate
- Устанавливаем зависимости. В папке проекта выполнить
pip install -r requirements.txt
Среда готова
-
Здесь понадобиться браузер chrome, YA.bro или аналог с инструментами разработчика. Включаем вкладку с сетевыми вызовами.
-
Идем на park.mail.ru, открываем Личный кабинет и ищим вызов на
https://park.mail.ru/rest_api/discipline_versions/<DISCIPLINE>/students/
. Он может отображаться, как просто/students/
. Тогда на него надо кликнуть и посмотреть подробности. Запоминаем цифру DISCIPLINE из адреса, она нам еще понадобится. -
Щелкаем правой кнопкой на этом вызове и нажимаем Copy -> Copy Request Headers и вставляем в любимый текстовый редактор.
-
Из заголовков нам понадобятся два параметра из Cookie.
csrf_token
иsessionid_gtp
. Копируем их и запоминаем
Предлагается использовать файл в одном из двух форматов: JSON и CSV:
{
"Иванов Пупк":[25, 13],
"Сергеев Илья":[25,2,4]
}
или
Иванов Пупк,25,22
Сергеев Илья,25,2,4
Соответственно первая оценка попадет в первую колонку на портале, вторая - во вторую, и т.д.
marks.py --csrf <csrf_token> --cookie <sessionid_gtp> --discipline <DISCIPLINE> FILE
здесь FILE - json или csv файл с оценками.
больше параметров можно узнать через marks.py --help
Если в конце написало, что
All marks were successfully set
То оценки должны появится на портале
П.С. Надеюсь нас всех не забанят =)