"""Script permettant de créer un dossier nommé numero_titre-dossier, numero ou titre dans lequel figurent les squelettes des fichiers latex correspondant au type de document demandé.
Exempled'utilisation :
documentex01_testtd
defvalidate_dossier(ctx,param,value):
ifos.path.exists(value):
raiseclick.BadParameter("Le dossier existe déjà !")
try:
iflen(value.split("_"))==2:
numero,nom=value.split("_")
int(numero)
returnnumero,f"{numero}_{nom}"
iflen(value.split("_"))==1:
try:
int(value)
returnvalue,value
except:
return"",value
else:
raiseclick.BadParameter("Le dossion doit être au format numéro_nom ou nom")
exceptValueError:
raiseclick.BadParameter("Le dossier doit être au format nom ou numéro_nom")
"""Retourne l'année scolaire en cours, si l'argument est True alors on renvoie toujours l'année scolaire en cours sauf à partir de juin où on renvoie l'année suivante
defannee_scolaire()->str:
"""
Sortie:
--------
str:Retournel'année scolaire en cours, une nouvelle année démarre en juillet
""" Ces fonction permettent d'analyser l'argument donné en ligne de commande. Celui-ci doit être de la forme numero ou bien numero_titre ou bien titre, et numero doit être dans l'intervalle des numéros admissibles (voir constantes_document_latex)
"""
defformat(argv):
""" Formattage de l'argument
"""
arguments=argv.split('_')
iflen(arguments)==1:
arguments.append('')# garantit qu'il y a toujours au moins deux arguments, le second éventuellement vide
ifconstantes.debug:
print("fonction format")
print(f"La variable arguments est {arguments}")
returnarguments
defbon_format(argv):
"""Booléen déterminant si la chaîne de caractère argv est un argument admissible pour le script document latex
"""
arguments=format(argv)
iflen(arguments)!=2:# c'est impossible ?
returnFalse
numero,titre=arguments
ifconstantes.debug:
print("fonction bon_format")
print(f"Les variables numero,titre sont {numero} et {titre}")
try:
int(numero)#si le numéro est bien un numéro
returnnumeroinconstantes.numeros_admissibles
except:
returnTrue#si non, c'est un titre
else:
return[False]# Qu'est-ce que c'est que ce délire ??
defarguments(argv):
"""Renvoie la liste des arguments s'ils sont admissibles, et None autrement
\newtcolorbox{attention}[1][]{colframe=red,colback=red!5!white,notitle,attach title to upper,halign=center,title={\textcolor{red}{\Radioactivity}\qquad},after upper={\qquad\textcolor{red}{\Radioactivity}},#1}
\Large{Toute réponse non justifiée \textbf{ne sera pas prise en compte}. \\\newline Par ailleurs la \textbf{présentation, la qualité de la rédaction, la clarté et la précision des raisonnements} entreront pour une part importante dans l'appréciation des copies.\\\newlineLes candidats sont invités à encadrer leurs résultats.}
\Large{Toute réponse non justifiée \textbf{ne sera pas prise en compte}. \\\newline Par ailleurs la \textbf{présentation, la qualité de la rédaction, la clarté et la précision des raisonnements} entreront pour une part importante dans l'appréciation des copies.\\\newlineVous êtes invités à encadrer vos résultats.}
\end{minipage}
\vspace{5em}
\begin{minipage}[]{.98\textwidth}
\large{\noindent Si au cours de l'épreuve, un candidat repère ce qui lui semble être une erreur d'énoncé, il le signale sur sa copie et poursuit sa composition en indiquant les raisons des initiatives qu'il est amené à prendre.}
\large{\noindent Si au cours de l'épreuve, vous repérez ce qui vous semble être une erreur d'énoncé, vous le signalez sur votre copie et poursuivez votre composition en indiquant les raisons des initiatives que vous êtes amenés à prendre.}
\end{minipage}
\end{center}
%\text{\Large{Toute réponse non mise en valeur ne sera pas prise en compte.}}\\