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 libcurses as curses
|
||||
from . import constantes_document_latex as constantes
|
||||
|
||||
def annee_scolaire_admissible(annee_scolaire):
|
||||
"""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
|
||||
def annee_scolaire_admissible(annee_scolaire: str) -> bool:
|
||||
"""
|
||||
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:
|
||||
return False
|
||||
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)
|
||||
|
||||
def annee_scolaire(sans_std = False):
|
||||
"""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
|
||||
def annee_scolaire() -> str:
|
||||
"""
|
||||
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('-')]
|
||||
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:
|
||||
return str(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
|
||||
return f"{int(year)-1}-{year}"
|
||||
|
@ -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