Exemplo n.º 1
0
def loadBooks(catalog, sep=','):
    """
    Carga los libros del archivo.  Por cada libro se toman sus autores y por 
    cada uno de ellos, se crea en la lista de autores, a dicho autor y una
    referencia al libro que se esta procesando.
    """
    t1_start = process_time()  #tiempo inicial
    booksfile = cf.data_dir + 'GoodReads/AllMoviesDetailsCleaned.csv'
    dialect = csv.excel()
    dialect.delimiter = ';'
    with open(booksfile, encoding="utf-8-sig") as csvfile:
        spamreader = csv.DictReader(csvfile, dialect=dialect)
        for row in spamreader:
            # Se adiciona el libro a la lista de libros
            model.addMovieList(catalog, row)
            # Se adiciona el libro al mapa de libros (key=title)
            model.addMovieMap(catalog, row)
            model.add_gen(catalog, row)
            # Se obtienen los autores del libro
            #authors = row['authors'].split(",")
            # Cada autor, se crea en la lista de autores del catalogo, y se
            # adiciona un libro en la lista de dicho autor (apuntador al libro)
            #for author in authors:
            #model.addAuthor (catalog, author.strip(), row)
    t1_stop = process_time()  #tiempo final
    print("Tiempo de ejecución carga películas:", t1_stop - t1_start,
          " segundos")
Exemplo n.º 2
0
def loadMovies(catalog, sep=';'):
    """
    Carga las películas del archivo. 
    """
    t1_start = process_time()  #tiempo inicial
    #moviesfile = cf.data_dir + 'themoviesdb/SmallMoviesDetailsCleaned.csv'
    moviesfile = cf.data_dir + 'themoviesdb/AllMoviesDetailsCleaned.csv'
    dialect = csv.excel()
    dialect.delimiter = sep
    with open(moviesfile, encoding="utf-8-sig") as csvfile:
        spamreader = csv.DictReader(csvfile, dialect=dialect)
        for row in spamreader:
            # Se adiciona la pelicula a la lista de peliculas
            model.addMovieList(catalog, row)
            # Se adiciona la pelicula al mapa de peliculas (key=title)
            model.addMovieMap(catalog, row)
    t1_stop = process_time()  #tiempo final
    print("Tiempo de ejecución carga películas:", t1_stop - t1_start,
          " segundos")
Exemplo n.º 3
0
def loadMovies(catalog, sep=';'):
    """
    Carga los libros del archivo.  Por cada libro se toman sus autores y por 
    cada uno de ellos, se crea en la lista de autores, a dicho autor y una
    referencia al libro que se esta procesando.
    """
    t1_start = process_time()  #tiempo inicial
    moviesfile = cf.data_dir + 'SmallMoviesDetailsCleaned.csv'
    dialect = csv.excel()
    dialect.delimiter = sep
    with open(moviesfile, encoding="utf-8-sig") as csvfile:
        spamreader = csv.DictReader(csvfile, dialect=dialect)
        for row in spamreader:
            # Se adiciona la pelócula a la lista de películas
            model.addMovieList(catalog, row)
            # Se adiciona la película al mapa de películas (key=title)
            model.addMovieMap(catalog, row)
            # Se adiciona el id de la pelicula al mapa de ids (key= id)
            model.addIdMap(catalog, row)
            # Se adiciona el género al mapa de géneros (key= genre)
            model.addGenre(catalog, row)
    t1_stop = process_time()  #tiempo final
    print("Tiempo de ejecución carga películas:", t1_stop - t1_start,
          " segundos")
Exemplo n.º 4
0
def loadMovies(catalog, sep=';'):
    """
    Carga las películas del archivo.  Por cada película se toman sus directores y por 
    cada uno de ellos se crea una referencia a la película que se esta procesando.
    """
    t1_start = process_time()  #tiempo inicial
    moviesfile = cf.data_dir + '/Movies/MoviesCastingRaw-small.csv'
    dialect = csv.excel()
    dialect.delimiter = sep
    with open(moviesfile, encoding="utf-8-sig") as csvfile:
        spamreader = csv.DictReader(csvfile, dialect=dialect)
        for row in spamreader:
            """ AQUI SE AGREGA ÚNICAMENTE LA INFORMACIÓN DE CASTING """
            # Se obtienen los actores de la película
            # Se crea en la lista de actores del catalogo, y se
            # adiciona una película en la lista de dicho actor (apuntador a la película)

            actors = [
                "actor1_name", "actor2_name", "actor3_name", "actor4_name",
                "actor5_name"
            ]
            actors_movie = lt.newList("ARRAY_LIST")
            for actor in actors:
                if row[actor] != "none":
                    model.addActor(catalog, row[actor], row)
                    lt.addLast(actors_movie, row[actor])

            #tipo_de_estructura = "lista"
            tipo_de_estructura = "mapa"

            # Se adiciona la película a la lista de películas
            if tipo_de_estructura == "lista":
                model.addMovieList(catalog, row, actors_movie)

            # Se adiciona la película al mapa de películas (key=title)
            if tipo_de_estructura == "mapa":
                model.addMovieMap(catalog, row, actors_movie)

            # Se obtiene el director de la película
            model.addDirector(catalog, row["director_name"], row)

    moviesfile = cf.data_dir + '/Movies/SmallMoviesDetailsCleaned.csv'
    with open(moviesfile, encoding="utf-8-sig") as csvfile:
        spamreader = csv.DictReader(csvfile, dialect=dialect)

        actors = map.keySet(catalog["actors"])
        directors = map.keySet(catalog["directors"])
        """ AQUI SE DEBERÍA AGREGAR UNICAMENTE LA INFORMACIÓN DE VOTOS """
        for row in spamreader:
            """
            Con estructura de Lista
            """
            if tipo_de_estructura == "lista":
                addMovieListVoteData(catalog, row)
            """
            Con estructura de Mapa
            """
            if tipo_de_estructura == "mapa":
                model.addMovieMapVoteData(catalog, row)

            for actor in actors:
                model.addActorVoteData(catalog, actor, row)

            for director in directors:
                model.addDirectorVoteData(catalog, director, row)

            generos = row["genres"].split("|")
            for genero in generos:
                model.addGenre(catalog, genero, row)

    t1_stop = process_time()  #tiempo final
    print("Tiempo de ejecución carga películas:", t1_stop - t1_start,
          " segundos")