#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
tkinter : saisie d'un mot de passe (utilisation du gridder).

fichier : verif_tkpasswd.py
auteur  : Bob
"""

# Import ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
import tkinter as tk

# Définition de fonction ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
def verif_passwd(event):
    """Vérifie un mot de passe."""
    passwd = password.get()

    cap, bdc, nbr = False, False, False
    for ch in passwd:
        if 'A' <= ch <= 'Z': cap = True  # Au moins une majuscule
        if 'a' <= ch <= 'z': bdc = True  # Au moins une minuscule
        if '0' <= ch <= '9': nbr = True  # Au moins un chiffre
    verif = len(passwd) >= 8 and cap and bdc and nbr
    
    if verif:
        reponse.configure(text = 'Valide !')
    else:
        reponse.configure(text = 'Invalide !')
    

# Programme principal ==========================================================
root = tk.Tk()
tk.Label(root, text="Nom         ").grid(row=0)  # ligne n° 0
tk.Label(root, text="Mot de passe").grid(row=1)  # ligne n° 1
nom = tk.Entry(root)
nom.grid(row=0, column=1)                        # ligne n° 0, colonne n°1
nom.focus()
password = tk.Entry(root)
password.grid(row=1, column=1)
password.bind('<Return>', verif_passwd)
reponse = tk.Label(root)
reponse.grid(row=2, column=0)
tk.Button(root, text="Login", command=root.destroy).grid(row=2, column=1)
root.mainloop()
