#!/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