121 lines
2.9 KiB
Python
121 lines
2.9 KiB
Python
#!/usr/bin/env python
|
|
# encoding: utf-8
|
|
|
|
import click
|
|
from pathlib import Path
|
|
from datetime import datetime
|
|
from PyInquirer import prompt, print_json
|
|
|
|
from .config import config
|
|
|
|
def prepare_csv():
|
|
click.echo(f"Préparation d'un nouveau devoir")
|
|
|
|
eval_questions = [
|
|
{
|
|
"type": "input",
|
|
"name": "evalname",
|
|
"message": "Nom de l'évaluation",
|
|
},
|
|
{
|
|
"type": "input",
|
|
"name": "tribe",
|
|
"message": "Classe concernée",
|
|
},
|
|
{
|
|
"type": "input",
|
|
"name": "date",
|
|
"message": "Date du devoir",
|
|
"filter": lambda val: datetime.strptime(val, "%y%m%d")
|
|
},
|
|
{
|
|
"type": "list",
|
|
"name": "term",
|
|
"message": "Trimestre",
|
|
"choices": ["1", "2", "3"],
|
|
}
|
|
]
|
|
|
|
exercise_questions = [
|
|
{
|
|
"type": "input",
|
|
"name": "exercisename",
|
|
"message": "Nom de l'exercice"
|
|
},
|
|
]
|
|
|
|
item_questions = [
|
|
{
|
|
"type": "input",
|
|
"name": "itemname",
|
|
"message": "Nom de l'item",
|
|
},
|
|
{
|
|
"type": "input",
|
|
"name": "comment",
|
|
"message": "Description",
|
|
},
|
|
{
|
|
"type": "list",
|
|
"name": "competence",
|
|
"message": "Competence",
|
|
"choices": ["Cher", "Rep", "Mod", "Rai", "Cal", "Com"],
|
|
},
|
|
{
|
|
"type": "input",
|
|
"name": "domain",
|
|
"message": "Domaine",
|
|
},
|
|
{
|
|
"type": "confirm",
|
|
"name": "is_leveled",
|
|
"message": "Évaluation par niveau",
|
|
"default": True
|
|
},
|
|
{
|
|
"type": "input",
|
|
"name": "scorerate",
|
|
"message": "Bareme"
|
|
},
|
|
{
|
|
"type": "confirm",
|
|
"name": "correct",
|
|
"message": "Tout est correct?",
|
|
"default": True
|
|
},
|
|
{
|
|
"type": "confirm",
|
|
"name": "add_item",
|
|
"message": "Ajouter un autre item",
|
|
"default": True,
|
|
},
|
|
]
|
|
|
|
eval_ans = prompt(eval_questions)
|
|
|
|
|
|
items = []
|
|
add_exo = True
|
|
while add_exo:
|
|
click.echo(f"Nouvel exercice")
|
|
exercise_ans = prompt(exercise_questions)
|
|
|
|
add_item = True
|
|
while add_item:
|
|
click.echo(f"Nouvelle question pour l'exercice {exercise_ans['exercisename']}")
|
|
item_ans = prompt(item_questions)
|
|
if item_ans["correct"]:
|
|
add_item = item_ans["add_item"]
|
|
item_ans.update(eval_ans)
|
|
item_ans.update(exercise_ans)
|
|
items.append(item_ans)
|
|
|
|
add_exo = prompt([{
|
|
"type": "confirm",
|
|
"name": "add_exo",
|
|
"message": "Ajouter un autre exercice",
|
|
"default": True
|
|
}])["add_exo"]
|
|
|
|
return items
|