import time import re from datetime import * def testDate(date : str): #Pattern pour vérifier qu'il y a bien 8 chiffres, 4pour l'année, 2 pour le mois, 2 pour le jour #permet d'exclure les erreurs de frappes, comme les "." les " " ou les lettres pattern = r'^\d{4}\d{2}\d{2}$' if re.match(pattern,date): try: datetime.strptime(date,"%Y%m%d") return True except ValueError: print("Erreur dans le format de la date, veuillez la saisir comme suit AAAAMMJJ") return False else : print("Erreur de frappe, la date ne noit contenir que 8 chiffres") return False def testSirenInsee(isPlu : bool, number : str): if isPlu: if len(number) == 5 and number.isdigit(): return True else : print("Le numero INSEE est invalide") return False else: if len(number) == 9 and number.isdigit(): return True else : print("Le numero siren est invalide") return False def sortout (): isPlu = True #on demande si c'est un PLU ou un PLUi tant que la valeur de l'input ne correspond pas à ce que l'on attend while True: answer = int(input("[1] - PLU \n[2] - PLUi \nQuel type de dossier est a étudier ? :")) if answer > 2 or answer < 1 : print("erreur dans la saisie du choix") print("\033[A\033[K", end="") else: isPlU = answer == 1 break while True: print("numero INSEE : " if isPlU else "numero siren : ", end="") prefixe = input() if(testSirenInsee(isPlu, prefixe)): break #On demande la date d'approbation tant que l'input est invalide while True: print("Date d'approbation (Format AAAAMMJJ): ", end="") suffixe = input() if(testDate(suffixe)): break #Chargement # for i in range(100): # print(f"{i}%") # time.sleep(0.5) # if i <100: # print("\033[A\033[K", end="")