diff --git a/__init__.py b/__init__.py new file mode 100644 index 0000000..9f0d764 --- /dev/null +++ b/__init__.py @@ -0,0 +1,7 @@ +from dory_sort_out import sortout + +def main(): + sortout() + +if __name__ == "__main__": + main() \ No newline at end of file diff --git a/dory_sort_out.py b/dory_sort_out.py new file mode 100644 index 0000000..6ad570a --- /dev/null +++ b/dory_sort_out.py @@ -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="")