dev-python/documentex: On enlève la dépendance à libcurses
Modification des scripts pour utiliser la bibliothèque click et non plus libcurses
parent
d9a622ae47
commit
2aad22376d
@ -1,29 +1,30 @@
|
|||||||
import datetime
|
import datetime
|
||||||
import libcurses as curses
|
|
||||||
from . import constantes_document_latex as constantes
|
from . import constantes_document_latex as constantes
|
||||||
|
|
||||||
def annee_scolaire_admissible(annee_scolaire):
|
def annee_scolaire_admissible(annee_scolaire: str) -> bool:
|
||||||
"""Revoie True si la chaîne de caractère annee_scolaire est au format aaaa-aaaa+1 avec aaaa une année admissible, et False sinon
|
"""
|
||||||
|
Entrée :
|
||||||
|
--------
|
||||||
|
annee_scolaire : chaîne de caractère
|
||||||
|
|
||||||
|
Sortie :
|
||||||
|
--------
|
||||||
|
bool : booléen décrivant si la chaîne de caractère est au format aaaa-aaaa+1 avec aaaa une année admissible, et False sinon
|
||||||
"""
|
"""
|
||||||
if len(annee_scolaire.split('-')) != 2:
|
if len(annee_scolaire.split('-')) != 2:
|
||||||
return False
|
return False
|
||||||
else:
|
else:
|
||||||
annee_n,annee_n_plus_un = annee_scolaire.split('-')
|
annee_n, annee_n_plus_un = annee_scolaire.split('-')
|
||||||
return (int(annee_n) == (int(annee_n_plus_un)-1)) and (annee_n in constantes.annees_valables)
|
return (int(annee_n) == (int(annee_n_plus_un)-1)) and (annee_n in constantes.annees_valables)
|
||||||
|
|
||||||
def annee_scolaire(sans_std = False):
|
def annee_scolaire() -> str:
|
||||||
"""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
|
"""
|
||||||
|
Sortie :
|
||||||
|
--------
|
||||||
|
str : 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
|
||||||
"""
|
"""
|
||||||
year, month = [element for element in datetime.datetime.now().strftime("%Y-%m").split('-')]
|
year, month = [element for element in datetime.datetime.now().strftime("%Y-%m").split('-')]
|
||||||
if month in constantes.annee_scolaire_en_cours:
|
if month in constantes.annee_scolaire_en_cours:
|
||||||
return year+'-'+str(int(year)+1)
|
return f"{year}-{int(year)+1}"
|
||||||
if month in constantes.annee_scolaire_plus_un:
|
if month in constantes.annee_scolaire_plus_un:
|
||||||
return str(int(year)-1)+'-'+year
|
return f"{int(year)-1}-{year}"
|
||||||
if sans_std:
|
|
||||||
return year+'-'+str(int(year)+1)
|
|
||||||
while True:
|
|
||||||
annee_scolaire = curses.saisie_message_std("Quelle est l'année scolaire en cours ? ")
|
|
||||||
if not(annee_scolaire_admissible(annee_scolaire)):
|
|
||||||
curses.afficher_message_std("L'année saisie doit être au format aaaa-aaaa+1 et aaaa doit être inférieure à 2070 !")
|
|
||||||
else:
|
|
||||||
return annee_scolaire
|
|
||||||
|
@ -1,39 +0,0 @@
|
|||||||
from . import constantes_document_latex as constantes
|
|
||||||
|
|
||||||
""" 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)
|
|
||||||
"""
|
|
||||||
|
|
||||||
def format(argv):
|
|
||||||
""" Formattage de l'argument
|
|
||||||
"""
|
|
||||||
arguments = argv.split('_')
|
|
||||||
if len(arguments) == 1:
|
|
||||||
arguments.append('') # garantit qu'il y a toujours au moins deux arguments, le second éventuellement vide
|
|
||||||
if constantes.debug:
|
|
||||||
print("fonction format")
|
|
||||||
print(f"La variable arguments est {arguments}")
|
|
||||||
return arguments
|
|
||||||
|
|
||||||
def bon_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)
|
|
||||||
if len(arguments) != 2: # c'est impossible ?
|
|
||||||
return False
|
|
||||||
numero,titre = arguments
|
|
||||||
if constantes.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
|
|
||||||
return numero in constantes.numeros_admissibles
|
|
||||||
except:
|
|
||||||
return True #si non, c'est un titre
|
|
||||||
else:
|
|
||||||
return [False] # Qu'est-ce que c'est que ce délire ??
|
|
||||||
|
|
||||||
def arguments(argv):
|
|
||||||
"""Renvoie la liste des arguments s'ils sont admissibles, et None autrement
|
|
||||||
"""
|
|
||||||
if bon_format(argv):
|
|
||||||
return format(argv)
|
|
Loading…
Reference in New Issue