Skip to content

KSolovyev/marks_tool

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Скриптик для автоматической простановки оценок в ведомости park.mail.ru

Если вы хоть раз делали это на протяжении семестра, у вас не возникнет вопроса "зачем?"

Настройка среды

  1. Для работы нужен python 2.7. Обычно он установлен по умолчанию, но если нет: https://www.python.org/download/releases/2.7/

  2. Дальше ставим virtualenv https://virtualenv.pypa.io/en/stable/installation/

  3. Создаем virtual env: mkvirtualenv dev

dev можно заменить на любое другое название.

Эта команда создаст изолированную среду питона в папке ~/.virtualenvs. Активировать ее для текущей консольной сессии можно с помощью

source ~/.virtualenvs/dev/bin/activate

  1. Устанавливаем зависимости. В папке проекта выполнить pip install -r requirements.txt

Среда готова

Выставляем параметры

  1. Здесь понадобиться браузер chrome, YA.bro или аналог с инструментами разработчика. Включаем вкладку с сетевыми вызовами.

  2. Идем на park.mail.ru, открываем Личный кабинет и ищим вызов на https://park.mail.ru/rest_api/discipline_versions/<DISCIPLINE>/students/. Он может отображаться, как просто /students/. Тогда на него надо кликнуть и посмотреть подробности. Запоминаем цифру DISCIPLINE из адреса, она нам еще понадобится.

  3. Щелкаем правой кнопкой на этом вызове и нажимаем Copy -> Copy Request Headers и вставляем в любимый текстовый редактор.

  4. Из заголовков нам понадобятся два параметра из 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

То оценки должны появится на портале

П.С. Надеюсь нас всех не забанят =)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages