Скрипт для получения оценок студентов из Moodle и экспорта в JSON/Google Sheets.
Запустите setup.bat - он автоматически настроит все необходимое.
- Установите зависимости:
pip install -r requirements.txt- Скопируйте файл конфигурации:
cp config_example config.env-
Отредактируйте
config.envи укажите ваши настройки:MOODLE_TOKEN- токен API MoodleCOURSE_ID- ID курса
-
Настройте файлы со списками:
cp students.txt.example students.txt cp activities.txt.example activities.txt cp quizzes.txt.example quizzes.txt
Отредактируйте файлы и укажите нужные списки:
students.txt- ФИО студентов (по одному на строку)activities.txt- названия активностей для фильтрацииquizzes.txt- названия тестов для фильтрации
Запустите один из батников:
run_moodle_parser.bat- полная настройка и запускquick_run.bat- быстрый запуск (если уже настроено)
python from_moodle_to_json.pyСкрипт:
- Получит список заданий и тестов из курса
- Отфильтрует студентов и активности согласно настройкам
- Соберет оценки из Moodle
- Выведет таблицу в консоль
- Предложит сохранить данные в JSON файл
- Предложит загрузить данные в Google Sheets (если настроено)
- Создайте проект в Google Cloud Console
- Включите Google Sheets API
- Создайте сервисный аккаунт и скачайте JSON ключ
- Поместите файл ключа в папку проекта как
credentials.json - Укажите
SPREADSHEET_IDиWORKSHEET_NAMEвconfig.env - Предоставьте доступ к таблице email'у сервисного аккаунта
from_moodle_to_json.py- основной скриптconfig.env- конфигурация (создается из config_example)config_example- пример конфигурацииrequirements.txt- зависимости Pythonstudents.txt- список ID студентов (создается из students.txt.example)activities.txt- список активностей (создается из activities.txt.example)quizzes.txt- список тестов (создается из quizzes.txt.example)credentials.json- ключ Google Sheets (если используется)
✅ Скрипт успешно протестирован!
Статистика тестового запуска:
- 📊 Обработано студентов: 44 из списка (34 найдено на курсе, 10 не найдено)
- 📝 Найдено заданий: 9 из 24 активностей курса
- 🧪 Найдено тестов: 1 из доступных тестов
- 📋 Получено оценок: 6 записей с реальными оценками
- 💾 Данные сохранены в JSON и загружены в Google Sheets
Функции работают корректно:
- ✅ Чтение конфигурации из .env файла
- ✅ Загрузка списков из текстовых файлов
- ✅ Поиск студентов по ФИО (не по ID)
- ✅ Обработка отсутствующих студентов (отмечаются как "Нет")
- ✅ Обработка студентов без оценок (отмечаются как "0")
- ✅ Подключение к Moodle API
- ✅ Фильтрация активностей
- ✅ Сбор оценок из грейдбука
- ✅ Экспорт в JSON
- ✅ Загрузка в Google Sheets