Esempio n. 1
0
def menuInicio():
    global menu_principal, menu_inicio, usuario_actual, msj, banner
    print("   +{0:-^37}+\n   | Bienvenido(a): {1:^19s} |\n   +{0:-^37}+\n".\
    format('\0', usuario_actual.nombre))
    print(menu_usuario)
    print(msj)
    msj = ""
    try:
        op = int(input("\n   Ingrese su opcion: "))
        assert 1 <= op <= 8

        # Parte del registro del usuario en la lista de contactos del usuario
        if op == 1:
            nombre = input("   Ingrese el nombre del usuario: ")
            assert len(nombre) > 0
            contacto_nuevo = tablaRU.buscar(nombre, 2)
            if type(contacto_nuevo) == Usuario:
                if usuario_actual.agregarContacto(contacto_nuevo):
                    msj = "   El usuario fue agregado a tu lista de contactos"
                else:
                    msj = "   El usuario ya se encuentra en su lista de contactos"
            else:
                msj = "   El usuario que desea agregar no esta registrado"

        # Parte de eliminacion de usuario de la lista de contactos
        elif op == 2:
            nombre = input("Ingrese el nombre del usuario: ")
            assert len(nombre)
            if usuario_actual.eliminarContacto(nombre):
                msj = "   Usuario eliminado"
            else:
                msj = "   El usuario no se encuentra en la lista de contactos"

        # Parte para mostrar los contactos del usuario
        elif op == 3:
            msj = usuario_actual.mostrarContactos()

        # Parte para mostrar el chat entre dos usuarios
        # Los imprime en orden de llegada
        elif op == 4:
            nombre = input(
                "   Ingrese el nombre del usuario con quien desea saber su chat: "
            )
            assert len(nombre) > 0
            if tablaRU.buscar(nombre):
                if usuario_actual.buscarContacto(nombre):
                    ide = getIde(usuario_actual.nombre, nombre)
                    chat = tablaC.buscarConversacion(ide)
                    if chat != None:
                        msj = chat.mostrarChat()
                    else:
                        msj = "   No existe chat entre estos dos usuarios"
                else:
                    msj = "   El usuario no se encuentra en la lista de contactos"
            else:
                msj = "   El usuario no se encuentra registrado"

        # Parte para enviar un mensaje al chat de un usuario especifico
        elif op == 5:
            nombre = input("   Ingrese el nombre del destinatario: ")
            if tablaRU.buscar(nombre):
                usuario_dest = usuario_actual.buscarContacto(nombre, 2)
                if usuario_dest != None:
                    mensaje = input("   Ingrese el mensaje a enviar: ")
                    ide = getIde(usuario_actual.nombre, usuario_dest.nombre)
                    chat = tablaC.buscarConversacion(ide)
                    if chat != None:
                        chat.agregarMensaje(usuario_actual, mensaje)
                    else:
                        chat = Chat(usuario_actual, usuario_dest)
                        chat.agregarMensaje(usuario_actual, mensaje)
                        tablaC.agregarConversacion(chat)
                    msj = "   Mensaje enviado con exito"
                else:
                    msj = "   El usuario no se encuentra en tu lista de contactos"
            else:
                msj = "   El usuario no se encuentra registrado"

        # Para mostrar las caritas
        elif op == 6:
            if cargado:
                msj = mostrarCaritas()
            else:
                msj = "   No hay un paquete de caritas disponible.\nPara agregarlo regrese al menu principal"

        # Para mostrar todos los usuarios actuales
        elif op == 7:
            msj = tablaRU.mostrarRegistro()

        # Confirmacion de cierre de sesion
        elif op == 8:
            conf = input("   Esta seguro que desea salir? (s/n): ")
            while conf != 's' and conf != 'n':
                print("   Solo puede ingresar 's(Si)' o 'n(No)'")
                conf = input("   Esta seguro que desea salir? (s/n): ")
            if conf == 's':
                menu_principal = True
                menu_inicio = False
    except ValueError:
        msj = "   No ingreso un numero entero"
    except AssertionError:
        if op == 1 or op == 2 or op == 4:
            msj = "   El nombre del usuario no puede ser vacio"
        else:
            msj = "   Datos ingresados de manera incorrecta. Debe ser un numero"