adisonespinoza

adison-POO-Python

Nov 26th, 2020
123
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.  
  2.  
  3. ______O______Validacion
  4. from dba import dba
  5. import base64
  6. from validate_email import validate_email
  7. class Validator():
  8.     def __init__(self):
  9.         pass
  10.    
  11.     def vali_usuario(self,dic):
  12.         datosFinales={}
  13.         errores={}
  14.         SpecialSym=['$','@','#','%','-','_']
  15.         for x,y in dic.items():
  16.             datosFinales[x]=y.strip()
  17.  
  18.         if datosFinales["nombre"]=='':
  19.             errores["nombre"]='campo nombre vacio'
  20.         if datosFinales["apellido"]=='':
  21.             errores["apellido"]='campo apellido vacio'
  22.            
  23.         if datosFinales["email"]=='':
  24.             errores["email"]="campo email vacio"
  25.         elif validate_email(datosFinales["email"])==False:
  26.             errores["email"]="el mail no es correcto"
  27.         """elif db.buscar_usuario(datosFinales['email']) != None:
  28.            errores['email']='el mail esta en uso'"""
  29.         if datosFinales["celular"]=='':
  30.             errores["celular"]='campo celular vacio'
  31.        
  32.         if len(datosFinales["contraseña"])< 4:
  33.             errores["contraseña"]='la contraseña debe tener mas de 2 caracteres'
  34.         if datosFinales["contraseña"]=='':
  35.             errores["contraseña"]='la clave esta vacia'
  36.         elif not any(char.isdigit()for char in datosFinales ["contraseña"]):
  37.             errores["contraseña"]='la clave debe tener al menos un numeral'
  38.         elif not any(char.isupper()for char in datosFinales ["contraseña"]):
  39.             errores["contraseña"]='la clave debe tener al menos una mayuscula'
  40.         elif not any(char.islower()for char in datosFinales ["contraseña"]):
  41.             errores["contraseña"]='la clave debe tener al menos una minuscula'
  42.         elif not any(char in SpecialSym for char in datosFinales ["contraseña"]):
  43.             errores["contraseña"]='la clave debe tener al menos un $#%@'
  44.  
  45.  
  46.         if errores=={}:
  47.             sql="SELECT id from usuario where email=%s"
  48.             val=(datosFinales['email'],)
  49.             dba.get_cursor().execute(sql,val)
  50.             resultado=dba.get_cursor().fetchone()
  51.             if resultado is not None:
  52.                 errores['email']='el correo ya esta registrado'
  53.                 return errores
  54.         return errores
  55.  
  56.  
  57.  
  58.     def validar_login(self,dic):
  59.         sql="SELECT * from usuario where email=%s"
  60.         val=(dic['email'],)
  61.         dba.get_cursor().execute(sql,val)
  62.         resultado=dba.get_cursor().fetchall()
  63.         if resultado==[]:
  64.             return False
  65.         if base64.decodebytes(bytes(resultado[0][5].strip(),'utf-8')).decode("UTF-8")==dic['contraseña']:
  66.             return resultado[0]          
  67.         else:
  68.             return False
  69.  
  70.    
  71. sql="SELECT * from usuario where email=%s"  
  72. val=('adison95@gmail.com',)  
  73. dba.get_cursor().execute(sql,val)
  74. resultado=dba.get_cursor().fetchall()
  75.  
  76. print(base64.decodebytes(bytes(resultado[0][5].strip(),'utf-8')).decode("UTF-8"))
  77. validator=Validator()  
  78.  
  79. _______o________Prueba
  80. from validacion import Validator, validator
  81.  
  82. forlogin={}
  83. forlogin['email']=input('escriba su mail ')
  84. forlogin['contraseña']=input('escriba su clave ')
  85.  
  86. if validator.validar_login(forlogin) is not False:
  87.     login=Usuario(*validator.validar_login(forlogin))
  88.     print(login.get_apellido())
  89. else:
  90.     print("usuario o clave invalidos")
  91.  
  92.  
  93.  
RAW Paste Data