GastonPalazzo

usuario.py

Oct 22nd, 2020 (edited)
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 3.04 KB | None | 0 0
  1. import base64
  2. from celular import Celular
  3. from habilidad import Habilidad
  4.  
  5. class Usuario():
  6.     __habilidades = []
  7.     __nA='no_asignado'
  8.     __c_no_asignado = Celular()
  9.     __h_no_asignada = Habilidad()
  10.     #cnstr
  11.     def __init__(self, name=__nA, mail=__nA, password=__nA, celular=__c_no_asignado, habilidades=__h_no_asignada, user_id=__nA):
  12.         self.__name = name
  13.         self.__mail= mail
  14.         self.__password = self.encriptarPass(password)
  15.         self.__celular = celular
  16.         self.set_habilidades(habilidades)
  17.         self.__id = user_id
  18.     #mths
  19.     #gtt & stt
  20.     def get_id(self):
  21.         return self.__id
  22.     def get_habilidades(self):
  23.         return self.__habilidades
  24.     def get_celular(self):
  25.         return self.__celular
  26.     def get_name(self):
  27.         return self.__name
  28.     def get_mail(self):
  29.         return self.__mail
  30.     def get_password(self):
  31.         return self.desencriptarPass(self.__password)
  32.     #
  33.     def set_id(self, nuevo_id):
  34.         self.__id = nuevo_id
  35.     def set_habilidades(self, nuevaHabilidad):
  36.         if nuevaHabilidad == self.__h_no_asignada:
  37.             pass
  38.         elif type(nuevaHabilidad).__name__ == "Habilidad":
  39.             self.__habilidades.append(nuevaHabilidad)
  40.             print('Se ha añadido una nueva habilidad!')
  41.         elif type(nuevaHabilidad).__name__ == "list":
  42.             self.__habilidades = self.__habilidades + nuevaHabilidad
  43.             print('Se han añadido nuevas habilidades!')
  44.     def set_name(self, newName):
  45.         self.__name = newName
  46.     def set_mail(self, newMail):
  47.         self.__mail = newMail
  48.     def set_password(self, newPassword):
  49.         self.__password = self.encriptarPass(newPassword)
  50.     #exclusivos
  51.     def guardar(self):
  52.         pass
  53.     def eliminar(self):
  54.         pass
  55.     def sabe_hacer(self, habilidad_buscada='', nivel_requerido_de_expertise=0):
  56.         for h in self.__habilidades:
  57.             if habilidad_buscada == h.get_nombre():
  58.                 return nivel_requerido_de_expertise < h.get_expertise()
  59.             else:
  60.                 return False
  61.     def saludar(self):
  62.         print(f'Hola {self.get_name()}!')
  63.     def encriptarPass(self, password_a_encriptar):
  64.         b = password_a_encriptar.encode("UTF-8") #codificacion a bytes
  65.         e = base64.b64encode(b) #coodificacion a base64
  66.         return e
  67.     def desencriptarPass(self, password_a_desencriptar):
  68.         b = base64.b64decode(password_a_desencriptar)
  69.         s = b.decode("UTF-8")
  70.         return s
  71.     def mostrarTelefono(self):
  72.         r = f'Descripcion: {self.get_celular().get_descripcion()}; marca {self.get_celular().get_marca()}; modelo {self.get_celular().get_modelo()}'
  73.         if self.get_celular().get_marca() == 'Apple':
  74.             r = r + '; y soy fan de los iphones.'
  75.         return r
  76.     def llamar(self, usuario_in, duracion_de_llamada_en_minutos=0):
  77.         r=0
  78.         if self.get_celular().get_proveedor_de_linea() != usuario_in.get_celular().get_proveedor_de_linea():
  79.             r=duracion_de_llamada_en_minutos*10
  80.         return r
Add Comment
Please, Sign In to add comment