|
|
|
@ -7,6 +7,7 @@ import shutil
|
|
|
|
|
from . import constantes_document_latex as constantes
|
|
|
|
|
from . import lib_annee_scolaire as annee_scolaire
|
|
|
|
|
import click
|
|
|
|
|
from PyInquirer.prompt import prompt
|
|
|
|
|
|
|
|
|
|
template_dir = constantes.jinja_template_dir
|
|
|
|
|
|
|
|
|
@ -37,18 +38,20 @@ def validate_dossier(ctx, param, value):
|
|
|
|
|
def documentex(dossier: str, type_document: str):
|
|
|
|
|
"""
|
|
|
|
|
Entrée:
|
|
|
|
|
|
|
|
|
|
-------
|
|
|
|
|
|
|
|
|
|
dossier : chaîne de caractère spécifiant le nom du dossier à créer
|
|
|
|
|
type_document : chaîne de caractère spécifiant le type de document à créer
|
|
|
|
|
|
|
|
|
|
Sortie :
|
|
|
|
|
|
|
|
|
|
--------
|
|
|
|
|
|
|
|
|
|
Aucune. On crée dans le dossier $dossier tous les fichiers d'en-tête LaTeX nécessaire en
|
|
|
|
|
fonction du type de document à créer.
|
|
|
|
|
Aucune. On crée dans le dossier $dossier tous les fichiers d'en-tête LaTeX nécessaire en fonction du type de document à créer.
|
|
|
|
|
|
|
|
|
|
Exemple :
|
|
|
|
|
|
|
|
|
|
---------
|
|
|
|
|
|
|
|
|
|
documentex 01_algebre-lineaire td
|
|
|
|
@ -57,12 +60,19 @@ def documentex(dossier: str, type_document: str):
|
|
|
|
|
# Initialisation des variables
|
|
|
|
|
# contenu,tex_file,fancyhead,type_document,short_title,lycee,classe,title,auteur,semaine,liste_noms,td,ds_numero,annee
|
|
|
|
|
date = datetime.now().strftime("%Y-%m-%d")
|
|
|
|
|
title = ""
|
|
|
|
|
semaine = ""
|
|
|
|
|
nom1 = ""
|
|
|
|
|
nom2 = ""
|
|
|
|
|
nom3 = ""
|
|
|
|
|
classe = ""
|
|
|
|
|
lycee = ""
|
|
|
|
|
ds_numero = ""
|
|
|
|
|
|
|
|
|
|
numero, nom_fichier = dossier
|
|
|
|
|
tex_file = constantes.tex_file # nom du fichier dans lequel on écrit du LaTeX
|
|
|
|
|
contenu,td,fancyhead,appartenance = constantes.dictionnaire_type_document[type_document]
|
|
|
|
|
contenu, td, fancyhead, appartenance = constantes.dictionnaire_type_document[type_document]
|
|
|
|
|
short_title = type_document.upper()+' '+numero
|
|
|
|
|
title,semaine,nom1,nom2,nom3 = constantes.initialiser_variables() # c'est moche...
|
|
|
|
|
auteur = constantes.auteur
|
|
|
|
|
annee = annee_scolaire.annee_scolaire()
|
|
|
|
|
institution = constantes.institution
|
|
|
|
@ -76,27 +86,101 @@ def documentex(dossier: str, type_document: str):
|
|
|
|
|
if appartenance:
|
|
|
|
|
classe = constantes.classe_appartenance
|
|
|
|
|
lycee = constantes.lycee_appartenance
|
|
|
|
|
else:
|
|
|
|
|
classe = ''
|
|
|
|
|
lycee = ''
|
|
|
|
|
ds_numero = ''
|
|
|
|
|
|
|
|
|
|
# Initialisation des variables suivant le type d'écrit
|
|
|
|
|
if contenu:
|
|
|
|
|
title = click.prompt("Quel titre long pour ce document ? ")
|
|
|
|
|
short_title = click.prompt("Quel titre court pour ce document ? ")
|
|
|
|
|
questions = [
|
|
|
|
|
{
|
|
|
|
|
"type": "input",
|
|
|
|
|
"name": "title",
|
|
|
|
|
"message": "Titre LONG du document",
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "input",
|
|
|
|
|
"name": "title",
|
|
|
|
|
"message": "Titre COURT du document",
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
answers = prompt(questions)
|
|
|
|
|
title = answers["title"]
|
|
|
|
|
short_title = answers["short_title"]
|
|
|
|
|
if type_document == 'dm':
|
|
|
|
|
questions = [
|
|
|
|
|
{
|
|
|
|
|
"type": "input",
|
|
|
|
|
"name": "date",
|
|
|
|
|
"message": "À rendre pour le : ",
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
|
|
|
|
|
short_title += ' : à rendre pour le '
|
|
|
|
|
short_title += click.prompt('à rendre pour le : ? ')
|
|
|
|
|
answers = prompt(questions)
|
|
|
|
|
short_title += answers["date"]
|
|
|
|
|
if type_document == 'cr':
|
|
|
|
|
lycee = click.prompt('Quel lycée ? ')
|
|
|
|
|
classe = click.prompt('Quelle classe ? ')
|
|
|
|
|
semaine = click.prompt('Quelle semaine ? ')
|
|
|
|
|
nom1 = click.prompt('Premier candidat ? ')
|
|
|
|
|
nom2 = click.prompt('Deuxième candidat ? ')
|
|
|
|
|
nom3 = click.prompt('Troisième candidat ? ')
|
|
|
|
|
questions = [
|
|
|
|
|
{
|
|
|
|
|
"type": "list",
|
|
|
|
|
"name": "lycee",
|
|
|
|
|
"message": "Nom du lycée",
|
|
|
|
|
"choices": [
|
|
|
|
|
"LLW",
|
|
|
|
|
"Lycée de Cachan",
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "list",
|
|
|
|
|
"name": "classe",
|
|
|
|
|
"message": "Nom de la classe",
|
|
|
|
|
"choices": [
|
|
|
|
|
"PTSI",
|
|
|
|
|
"PT*",
|
|
|
|
|
"PT",
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "input",
|
|
|
|
|
"name": "semaine",
|
|
|
|
|
"message": "Numéro de la semaine",
|
|
|
|
|
"validate": constantes.entier,
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
{
|
|
|
|
|
"type": "input",
|
|
|
|
|
"name": "nom1",
|
|
|
|
|
"message": "Nom du premier candidat",
|
|
|
|
|
"default": "",
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "input",
|
|
|
|
|
"name": "nom2",
|
|
|
|
|
"message": "Nom du deuxième candidat",
|
|
|
|
|
"default": "",
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "input",
|
|
|
|
|
"name": "nom3",
|
|
|
|
|
"message": "Nom du troisième candidat",
|
|
|
|
|
"default": "",
|
|
|
|
|
},
|
|
|
|
|
]
|
|
|
|
|
answers = prompt(questions)
|
|
|
|
|
|
|
|
|
|
lycee = answers["lycee"]
|
|
|
|
|
classe = answers["classe"]
|
|
|
|
|
semaine = answers["semaine"]
|
|
|
|
|
nom1 = answers["nom1"]
|
|
|
|
|
nom2 = answers["nom2"]
|
|
|
|
|
nom3 = answers["nom3"]
|
|
|
|
|
if type_document == 'ob':
|
|
|
|
|
nom1 = click.prompt('Nom du candidat ? ')
|
|
|
|
|
questions = [
|
|
|
|
|
{
|
|
|
|
|
"type": "input",
|
|
|
|
|
"name": "nom1",
|
|
|
|
|
"message": "Nom du candidat ",
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
answers = prompt(questions)
|
|
|
|
|
nom1 = answers["nom1"]
|
|
|
|
|
|
|
|
|
|
os.mkdir(nom_fichier)
|
|
|
|
|
os.mkdir(os.path.join(nom_fichier, "Utils"))
|
|
|
|
|