#!/usr/bin/env python
# -*- coding: utf-8 -*-
#
# Importamos los modulos/librerias necesarias

from recoinform.modules.funciones_meta import *
from recoinform.modules.funciones_rinfo import *
from core.menu_texto_p import *
from core.funciones_core import *
from termcolor import colored


def recoleccion_de_informacion():
    # Hacemos un bucle para volver al Menu Principal si no se elige una opcion predeterminada por nosotros
    while 1:
        try:
            # Llamamos al Banner pasandole la version de la aplicacion.
            show_banner(define_version, '1', 'recoleccion')
            # Creamos un objeto de la clase Menu. Le pasamos el texto del fichero mitext.py con las opciones
            muestra_menu_principal = Crear_menu(texto_principal, menu_principal_recoleccion)

            # Carga del Menu Principal manera Standard (sin nada especial)
            eleccion_menu_prin = input(colored("Elija una opcion: ", 'blue'))

            # Salir de la aplicacion
            if eleccion_menu_prin == 'exit' or eleccion_menu_prin == "99" or eleccion_menu_prin == "quit":
                break

            # Llama a la funcion menuDNS
            if eleccion_menu_prin == '1':
                menuDNS()

            # Llama a la funcion menuWHOIS
            if eleccion_menu_prin == '2':
                menuWhois()

            # Llama a la funcion menuGEO
            if eleccion_menu_prin == '3':
                menuGeo()

            # Llama a la funcion menuMotorShodan
            if eleccion_menu_prin == '4':
                menuMotorShodan()

            # Llama a la funcion Facets de Shodan
            if eleccion_menu_prin == '5':
                print("Facets de Shodan")
                menuFacets()

            # Llama a la funcion obtenerMetadatosPDF
            if eleccion_menu_prin == '6':
                obtenerMetadatosPDF()

            # Llama a la funcion menu_imagenes
            if eleccion_menu_prin == '7':
                menu_imagenes()

        # Capturamos una interrucion por teclado (Control+C)
        except KeyboardInterrupt:
            print(("\n\nGracias por " + bcolors.RED + "utilizar la herramineta" + bcolors.ENDC +
                   " Busca en Red.\n\nSeguimos trabajando en ello.\n"))
            # Salimos del bucle While
            break

        # Capturamos alguna excepcion ocurrida
        except Exception as error:
            print(error)
            print("\n\n[!] Algo fue mal, mostrando error por pantalla: " + str(error))
            input("Pulse INTRO para volver al Menu Principal.")