def recover(self): userName = self.receiveUsername() result = UserController.getEmail(userName) if result: codigo = ''.join( random.choice(string.ascii_uppercase + string.digits) for _ in range(8)) MailUtil.sendRecovery(result, codigo) self.connection.send({ "operacion": "RecoveryCode", "resultado": "OK" }) cod = self.connection.receive() if (cod == codigo): self.connection.send({ "operacion": "ChangePassword", "resultado": "OK" }) newPassword = self.connection.receiveLogin() UserController.setNewPassword(userName, newPassword) self.connection.send("Contraseña cambiada con éxito") else: self.connection.send({ "operacion": "ChangePassword", "resultado": "ERROR" }) # Hecho asi , hay una sola oportunidad para poner el codigo correctamente else: self.connection.send({ "operacion": "RecoveryCode", "resultado": "ERROR" })