Exemple #1
0
def ejecutar_Entender_un_género_cinematográfico(catalog, genre_name):
    movies = co.getMoviesByGenre(catalog, genre_name)
    print("Las peliculas de la compañia de producción son: \b")
    for i in range(1, lt.size(movies["movie"]) + 1):
        print(
            lt.getElement(movies["movie"], i)['title'], "\b",
            lt.getElement(movies["movie"], i)['vote_count'])
    print('estas tienen una Votacion promedio de', str(movies["vote_count"]))
    print('La cantidad de peliculas es de', str(lt.size(movies['movie'])))
Exemple #2
0
def printMoviesByGenre(catalog, genreName):
    moviesByGenre = controller.getMoviesByGenre(catalog, genreName)
    iterator = it.newIterator(moviesByGenre["movies"])
    while it.hasNext(iterator):
        movie = it.next(iterator)
        print(movie["title"])
    size = controller.genreMoviesSize(catalog, genreName)
    promedio = controller.averageByGenre(catalog, genreName)
    print("\nSe encontraron "+ str(size) +" películas")
    print("El promedio de votos de las películas del género "+genreName+" es: "+str(round(promedio,1)))
Exemple #3
0
def printGenre(catalogo1, genreName):
    info = controller.getMoviesByGenre(catalogo1, genreName)
    if info:
        print('genero encontrado encontrado: ' + info['name'])
        print('Promedio: ' + str(info['vote_average']))
        print('Total de votos: ' + str(info['vote_count']))
        print('Total de peliculas: ' + str(lt.size(info['movies'])))
        iterator = it.newIterator(info['movies'])
        while it.hasNext(iterator):
            movie = it.next(iterator)
            print(movie['original_title'])
    else:
        print('No se encontro el genero')
Exemple #4
0
def printMenu():
    ejecuta = True
    while ejecuta:
        print("\n**Explorando la magia del cine recargado**")
        print ("Bienvenido, las siguientes son las opciones que puede consultar:\n")
        print("1- Cargar Datos")
        print("2- Cargar información en el catálogo")
        print("3- Descubrir productoras de cine") #req 1
        print("4- Conocer a un director") #req 2
        print("5- Conocer a un actor") #req 3
        print("6- Entender un género cinematográfico") #req 4
        print("7- Encontrar películas por país") #req 5
        print("0- Salir")

        inputs = input('\nSeleccione una opción para continuar\n')

        if int(inputs[0]) == 1:
            print ("cargando archivos...")
            tempcatalogostart = process_time() #inicia temporizador 
            catalog = controller.IniciarCatalogo()
            tempcatalogostop = process_time() #Termina temporizador
            print("\nCatálogo vacío creado, tiempo de carga: ",tempcatalogostop-tempcatalogostart," segundos")
            

        elif int(inputs[0]) == 2:
            tempcargastart = process_time()
            controller.cargardatos(catalog,csvdetalles,csvcasting)
            tempcargastop = process_time()
            print("\nSe cargaron en total {} datos al catálogo, tiempo de carga: {} segundos" .format(lt.size(catalog["pelis"]),tempcargastop-tempcargastart))
            #print (lt.size(catalog["pelis"]))

        elif int(inputs[0]) == 3:
            producername = input("Nombre de la productora de interes:\n")
            tempconsultstart = process_time() #inicia temporizador
            producerinfor = controller.getMoviesByProducer(catalog,producername)
            iterator = it.newIterator(producerinfor["movies"])  
            print ("\nLas películas que han sido creadas por {}, son:\n".format(producername))  
            indicepelicula = 0                 
            while  it.hasNext(iterator):
                element = it.next(iterator)
                indicepelicula += 1
                print(str(indicepelicula) + ".  " + element)
            print("\nEstas películas tuvieron un promedio de votación de: {}" .format(round(producerinfor["vote_average"], 3)))
            tempconsultstop = process_time() #termina temporizador
            print("\nEl tiempo que tardó esta consulta es de: {} segundos" .format(tempconsultstop-tempconsultstart))

        elif int(inputs[0]) == 4:
            DirectorName = input("Ingrese el nombre del director para el cual quiera conocer sus películas:\n")
            ValueDirector = controller.getMoviesByDirector(catalog,DirectorName)

            iterator=it.newIterator(ValueDirector["movies"])
            print("\n{} ha dirigido en total {} peliculas, estas son:\n" .format(DirectorName, (ValueDirector['movies']['size'])))
            sumatoria = 0
            while it.hasNext(iterator):
                element=it.next(iterator)
                movie=controller.getMovieByid(catalog,element)
                print("-> "+ movie["original_title"])
                sumatoria += float((movie["vote_average"]))

            print ("\nEstas películas tuvieron una votación promedio de {}." .format (str ( round ( (sumatoria/ValueDirector['movies']['size']) ,2))))

            pass
            #Aki Kaurismäki

        elif int(inputs[0]) == 5:
            actorname = input("Nombre del actor de interes:\n")
            actorinfor = controller.getMoviesByActor(catalog,actorname)
            iterator=it.newIterator(actorinfor["movies"])
            print("Las peliculas en las que ha actuado" + actorname + "son : ")
            suma= 0
            while it.hasNext(iterator):
                element=it.next(iterator)
                movie=controller.getMovieByid(catalog,element)
                print("->"+movie["original_title"])
                suma +=float((movie["vote_average"]))
            print("La cantidad de peliculas en las que ha actuado es "+str(lt.size(actorinfor["movies"])))
            print("El promedio de votacion de todas sus peliculas es "+str(round(suma/lt.size(actorinfor["movies"]),2)))
            print("El director con el que más ha participado es "+actorinfor["director"])
            pass


        elif int(inputs[0]) == 6:
            name = input("Nombre de el genero de interes\n")
            tempconsultstart = process_time() #inicia temporizador
            genreinfo = controller.getMoviesByGenre(catalog,name)
            iterator = it.newIterator(genreinfo["movies"])  
            print ("\nLas películas que pertenecen al genero {}, son:\n".format(name))  
            indicepelicula = 0                 
            while  it.hasNext(iterator):
                element = it.next(iterator)
                indicepelicula += 1
                print(str(indicepelicula) + ".  " + element)
            print("\nEstas películas tuvieron un promedio de votación de: {}" .format(round(genreinfo["vote_average"], 3)))
            tempconsultstop = process_time() #termina temporizador
            print("\nEl tiempo que tardó esta consulta es de: {} segundos" .format(tempconsultstop-tempconsultstart))   


        elif int(inputs[0]) == 7:
            CountryName = input("Ingrese el nombre del país para el cual le interese conocer las películas que allí fueron producidas:\n")
            ValuePerCountry = controller.getMoviesByCountry(catalog,CountryName)

            iterator=it.newIterator(ValuePerCountry["movies"])
            print("\nEn {} se han producido en total {} peliculas, estas son:\n" .format(CountryName, (ValuePerCountry['movies']['size'])))
            while it.hasNext(iterator):
                element=it.next(iterator)
                movie=controller.getMovieByid(catalog,element)
                movie2=controller.getMovieByid2(catalog,element)
                date=movie["release_date"]
                print("-> "+ movie["original_title"]+","+ date +","+movie2["director_name"])

            # Finland 


        elif int(inputs[0]) == 0:
            ejecuta = False
Exemple #5
0
        controller.loadData(cont, smallmoviesfile, smallcastingfile, moviesfile, castingfile)
        t1_start = process_time()
        print('Peliculas (Details) cargadas: ' + str(controller.movies1Size(cont)))
        print('Peliculas (CastingRaw) cargadas: ' + str(controller.movies2Size(cont)))
        t1_stop = process_time()

    elif int(inputs[0]) == 3:
        t1_start = process_time()
        nombre = input("Digite el nombre de la compañia:")
        movies = controller.getMoviesByProductionCompanie(cont, nombre)
        PrintRQ1(movies)

    elif int(inputs[0]) == 4:
        nombre = input("Ingrese el nombre del director que desea conocer:\n")
        director = controller.getMoviesByDirector(cont, nombre)
        PrintRQ2(director)
    elif int(inputs[0]) == 5:
        nombre = input("Ingrese el nombre de un actor que desea conocer:\n")
        director = controller.getMoviesByActor(cont, nombre)
        PrintRQ3(director)
    elif int(inputs[0]) == 6:
        nombre = input("Ingrese el genero de película que desea conocer:\n")
        director = controller.getMoviesByGenre(cont, nombre)
        PrintRQ4(director)
    elif int(inputs[0]) == 7:
        nombre = input("Ingrese el nombre del país a filtrar:\n")
        director = controller.getMoviesByPais(cont, nombre)
        PrintRQ5(director)
    else:
        sys.exit(0)
sys.exit(0)
Exemple #6
0
    elif int(inputs[0]) == 2:
        print("Cargando información de los archivos")
        controller.loadDataMovies(cont, moviesDetails, moviesCasting)
        print("Peliculas cargadas: " + str(controller.moviesSize(cont)))
        print("Casting cargados: " + str(controller.castingsSize(cont)))
        print("Actores cargados: " + str(controller.actorsSize(cont)))
    elif int(inputs[0]) == 3:
        actor = input("A al que desea conocer: ")
        actorinformacion = controller.getMoviesByActor(catalog, actor)
        print(actorinformacion)
    elif int(inputs[0]) == 4:
        director = input("Director al que busca: ")
        directorinfo = controller.getMoviesbyDirector(director)
        printDirectorData(directorinfo)
    elif int(intput[0]) == 5:
        tiempo = process_time()
        gen = intput("Ingrese el genero deseado")
        gen = controller.inputGenre(catalog, gen)
        for genero in gen:
            Movies = controller.getMoviesByGenre(cont, gen)
        print(Movies)
        print("la candidad de peliculas son ") + str(
            controller.genreSize(Movies))
    #elif int(inputs[0]) == 6:
    #   pais = input("País al que busca: ")
    #  paisinfo = controller.

    else:
        sys.exit(0)
sys.exit(0)
        print("\n")
        print(director_name+" tiene "+str(size)+ " películas. \n")
        print("El promedio de la calificación de sus películas es "+str(vote_avarage) +"\n")
        printList(movies)
        print("\n")
    elif int(inputs[0]) == 5:
        actor_name = input("Ingrese el nombre del actor que quiere buscar\n")
        movies,size,vote_avarage,director = controller.getMoviesByActor(catalogo, actor_name)
        print("\n")
        print(actor_name+" tiene "+str(size)+ " películas. \n")
        print("El promedio de la calificación de sus películas es "+str(vote_avarage) +"\n")
        print("El director con quien mas ha trabajado es "+director +"\n")
        printList(movies)
        print("\n")
    elif int(inputs[0]) == 6:
        genre_name = input("Ingrese el genero que quiere buscar\n")
        movies,size,vote_count = controller.getMoviesByGenre(catalogo, genre_name)
        print("\n")
        print(str(size)+ " películas son del genero " + genre_name + "\n")
        print("El promedio de la calificación de las películas es "+str(vote_count) +"\n")
        printList(movies)
        print("\n")
    elif int(inputs[0]) == 7:
        country_name = input("ingrese el nombre del país que quiere buscar\n")
        country=controller.getMoviesByCountry(catalogo,country_name)
        print("\n")
        printListTuple(country)
    else:
        sys.exit(0)
sys.exit(0)
        controller.loadData(cont, moviesfile, castingfile)
        print('Películas cargadas: ' + str(controller.booksSize(cont)))
        print("Productoras cargados: " + str(controller.companiesSize(cont)))
        print("Directores cargados: " + str(controller.directorSize(cont)))
        print("Actores cargados: " + str(controller.actorSize(cont)))
        print("Géneros cargados: " + str(controller.genresSize(cont)))
        print("Paises cargados: " + str(controller.countrySize(cont)))
    elif int(inputs[0]) == 3:
        nombre = input("Ingrese el nombre de la productora deseada: \n" + ": ")
        companyinfo = controller.getMoviesByCompany(cont, nombre)
        printCompanyData(companyinfo)
    elif int(inputs[0]) == 4:
        name = input("Ingrese el nombre del director: \n" + ": ")
        movies = controller.getBooksByTag(cont, name)
        printDirectorData(movies)
    elif int(inputs[0]) == 5:
        actor = input("ingrese el nombre del actor: \n" + ": ")
        actores = controller.getMovieByActor(cont, actor)
        printActorData(actores)
    elif int(inputs[0]) == 6:
        genero = input("Ingrese el género a buscar: \n" + ": ")
        genreinfo = controller.getMoviesByGenre(cont, genero)
        printGenreData(genreinfo)
    elif int(inputs[0]) == 7:
        pais = input("Ingrese el país a buscar: \n" + ": ")
        countryinfo = controller.getMoviesByCountry(cont, pais)
        printCountryData(countryinfo)
    else:
        sys.exit(0)
sys.exit(0)
def main():
    """
    Método principal del programa, se encarga de manejar todos los metodos adicionales creados
    Instancia una lista vacia en la cual se guardarán los datos cargados desde el archivo
    Args: None
    Return: None 
    """

    while True:
        printMenu()  #imprimir el menu de opciones en consola
        inputs = input(
            'Seleccione una opción para continuar\n')  #leer opción ingresada
        if len(inputs) > 0:

            if int(inputs[0]) == 1:  #opcion 1
                tamano_catalogo = input(
                    'Que tamaño de catalogo desea cargar: \n1- 2000 peliculas\n2- 300000+ peliculas\n'
                )  #leer opción ingresada
                if tamano_catalogo == "1":
                    archivo_casting = "Data\MoviesCastingRaw-small.csv"
                    archivo_details = "Data\SmallMoviesDetailsCleaned.csv"
                elif tamano_catalogo == "2":
                    archivo_casting = "Data\AllMoviesCastingRaw.csv"
                    archivo_details = "Data\AllMoviesDetailsCleaned.csv"
                else:
                    print("Opción invalida. Se cargará la versión 1.")
                    archivo_casting = "Data\MoviesCastingRaw-small.csv"
                    archivo_details = "Data\SmallMoviesDetailsCleaned.csv"

                t1 = process_time()
                print("Inicializando Catálogo ....")
                # cont es el controlador que se usará de acá en adelante
                cont = controller.initCatalog()
                print("Cargando información de los archivos ....")
                controller.loadData(cont, (archivo_details), (archivo_casting))
                t2 = process_time()
                print("Tiempo de carga: {}".format(t2 - t1))
                print('Numero peliculas cargadas: ' +
                      str(controller.detailSize(cont)))
                #print(controller.encontrarElemento(cont,1))
                #print(controller.encontrarElemento(cont,2000))

            elif int(inputs[0]) == 2:  #opcion 2
                print("Se encontraron {} productoras".format(
                    controller.productorasSize(cont)))
                productorname = input("Nombre de la productora a buscar: ")
                t1 = process_time()
                productorinfo = controller.getMoviesByProductora(
                    cont, productorname)
                printProductoraData(productorinfo)
                t2 = process_time()
                print("Tiempo de carga: {}".format(t2 - t1))

            elif int(inputs[0]) == 3:  #opcion 3
                print("Se encontraron {} directores".format(
                    controller.directoresSize(cont)))
                directorname = input("Nombre de la productora a buscar: ")
                t1 = process_time()
                directorinfo = controller.getMoviesByDirector(
                    cont, directorname)
                printDirectorData(directorinfo, cont)
                t2 = process_time()
                print("Tiempo de carga: {}".format(t2 - t1))

            elif int(inputs[0]) == 4:  #opcion 4
                print("Se encontraron {} actores".format(
                    controller.actoresSize(cont)))
                actorname = input("Nombre del actor a buscar: ")
                t1 = process_time()
                actorinfo = controller.getMoviesByActor(cont, actorname)
                printActorData(actorinfo, cont)
                t2 = process_time()
                print("Tiempo de carga: {}".format(t2 - t1))

            elif int(inputs[0]) == 5:  #opcion 5
                print("Se encontraron {} generos".format(
                    controller.genresSize(cont)))
                genrename = input("Nombre del genero a buscar: ")
                t1 = process_time()
                genreinfo = controller.getMoviesByGenre(cont, genrename)
                printGenreData(genreinfo, cont)
                t2 = process_time()
                print("Tiempo de carga: {}".format(t2 - t1))

            elif int(inputs[0]) == 6:  #opcion 6
                print("Se encontraron {} paises".format(
                    controller.countriesSize(cont)))
                countryname = input(
                    "Nombre de la productora a buscar (El nombre del paíz está en ingles) : "
                )
                t1 = process_time()
                countryinfo = controller.getMoviesByCountry(cont, countryname)
                printCountryData(countryinfo, cont)
                t2 = process_time()
                print("Tiempo de carga: {}".format(t2 - t1))

            elif int(inputs[0]) == 0:
                sys.exit(0)