Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import base64
- from celular import Celular
- from habilidad import Habilidad
- class Usuario():
- __habilidades = []
- __nA='no_asignado'
- __c_no_asignado = Celular()
- __h_no_asignada = Habilidad()
- #cnstr
- def __init__(self, name=__nA, mail=__nA, password=__nA, celular=__c_no_asignado, habilidades=__h_no_asignada, user_id=__nA):
- self.__name = name
- self.__mail= mail
- self.__password = self.encriptarPass(password)
- self.__celular = celular
- self.set_habilidades(habilidades)
- self.__id = user_id
- #mths
- #gtt & stt
- def get_id(self):
- return self.__id
- def get_habilidades(self):
- return self.__habilidades
- def get_celular(self):
- return self.__celular
- def get_name(self):
- return self.__name
- def get_mail(self):
- return self.__mail
- def get_password(self):
- return self.desencriptarPass(self.__password)
- #
- def set_id(self, nuevo_id):
- self.__id = nuevo_id
- def set_habilidades(self, nuevaHabilidad):
- if nuevaHabilidad == self.__h_no_asignada:
- pass
- elif type(nuevaHabilidad).__name__ == "Habilidad":
- self.__habilidades.append(nuevaHabilidad)
- print('Se ha añadido una nueva habilidad!')
- elif type(nuevaHabilidad).__name__ == "list":
- self.__habilidades = self.__habilidades + nuevaHabilidad
- print('Se han añadido nuevas habilidades!')
- def set_name(self, newName):
- self.__name = newName
- def set_mail(self, newMail):
- self.__mail = newMail
- def set_password(self, newPassword):
- self.__password = self.encriptarPass(newPassword)
- #exclusivos
- def guardar(self):
- pass
- def eliminar(self):
- pass
- def sabe_hacer(self, habilidad_buscada='', nivel_requerido_de_expertise=0):
- for h in self.__habilidades:
- if habilidad_buscada == h.get_nombre():
- return nivel_requerido_de_expertise < h.get_expertise()
- else:
- return False
- def saludar(self):
- print(f'Hola {self.get_name()}!')
- def encriptarPass(self, password_a_encriptar):
- b = password_a_encriptar.encode("UTF-8") #codificacion a bytes
- e = base64.b64encode(b) #coodificacion a base64
- return e
- def desencriptarPass(self, password_a_desencriptar):
- b = base64.b64decode(password_a_desencriptar)
- s = b.decode("UTF-8")
- return s
- def mostrarTelefono(self):
- r = f'Descripcion: {self.get_celular().get_descripcion()}; marca {self.get_celular().get_marca()}; modelo {self.get_celular().get_modelo()}'
- if self.get_celular().get_marca() == 'Apple':
- r = r + '; y soy fan de los iphones.'
- return r
- def llamar(self, usuario_in, duracion_de_llamada_en_minutos=0):
- r=0
- if self.get_celular().get_proveedor_de_linea() != usuario_in.get_celular().get_proveedor_de_linea():
- r=duracion_de_llamada_en_minutos*10
- return r
Add Comment
Please, Sign In to add comment