feat:ask and verify user inputs
This commit is contained in:
parent
d942e0e778
commit
661df49aa0
7
__init__.py
Normal file
7
__init__.py
Normal file
@ -0,0 +1,7 @@
|
||||
from dory_sort_out import sortout
|
||||
|
||||
def main():
|
||||
sortout()
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
70
dory_sort_out.py
Normal file
70
dory_sort_out.py
Normal file
@ -0,0 +1,70 @@
|
||||
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="")
|
||||
Loading…
Reference in New Issue
Block a user