def addElementsmapsDetails(catalog, file1, file2): """ Carga los elementos de los mapas relacionados con los details. """ file1 = config.file_dir + file1 dialect = csv.excel() dialect.delimiter = ";" input_file1 = csv.DictReader(open(file1, encoding="utf-8"), dialect=dialect) file2 = config.file_dir + file2 dialect = csv.excel() dialect.delimiter = ";" input_file2 = csv.DictReader(open(file2, encoding="utf-8"), dialect=dialect) for movie1 in input_file1: lt.addLast(catalog['Data']['details'], movie1) md.addCompany(movie1, catalog) md.addGenre(movie1, catalog) iterator = it.newIterator(catalog['Data']['details']) for movie2 in input_file2: movie1 = it.next(iterator) lt.addLast(catalog['Data']['casting'], movie2) md.addDirector(movie2, movie1, catalog) md.addActor(movie2, movie1, catalog) md.addCountry(movie2, movie1, catalog)
def loadDirectors(catalog): """ Carga todos los directores """ t1_start = process_time() #tiempo inicial castingfile = cf.data_dir + 'themoviesdb/MoviesCastingRaw-small.csv' dialect = csv.excel() dialect.delimiter=";" with open(castingfile, encoding="utf-8") as csvfile: spamreader = csv.DictReader(csvfile, dialect=dialect) for row in spamreader: model.addDirector (catalog, row) t1_stop = process_time() #tiempo inicial print("Tiempo de ejecución carga directores",t1_stop-t1_start," segundos")
def loadCasting(catalog): """ Carga todos los directores """ t1_start = process_time() #tiempo inicial castingfile = cf.data_dir + 'MoviesCastingRaw-small.csv' dialect = csv.excel() dialect.delimiter = ";" with open(castingfile, encoding="utf-8-sig") as csvfile: spamreader = csv.DictReader(csvfile, dialect=dialect) for row in spamreader: model.addDirector(catalog, row) #cargar los directores model.addActor(catalog, row) #cargar los actores model.directorToId(catalog, row) #adicionar el director al mapa de ids t1_stop = process_time() #tiempo final print("Tiempo de ejecución carga directores", t1_stop - t1_start, " segundos")
def loadDirectors(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 #castingfile = cf.data_dir + 'themoviesdb/MoviesCastingRaw-small.csv' castingfile = cf.data_dir + 'themoviesdb/AllMoviesCastingRaw.csv' dialect = csv.excel() dialect.delimiter = sep with open(castingfile, encoding="utf-8-sig") as csvfile: spamreader = csv.DictReader(csvfile, dialect=dialect) for row in spamreader: # Se adiciona el director al mapa de directores model.addDirector(catalog, row) t1_stop = process_time() #tiempo final print("Tiempo de ejecución carga directores:", t1_stop - t1_start, " segundos")
def loadDirectors(catalog): ''' Carga todos los directores ''' t1_start = process_time() #tiempo inicial castingfile = cf.data_dir + 'themoviesdb/MoviesCastingRaw-small.csv' dialect = csv.excel() dialect.delimiter=';' with open(castingfile, encoding='utf-8') as csvfile: spamreader = csv.DictReader(csvfile, dialect=dialect) movie_counter = 1 for row in spamreader: director_name = row['director_name'] pos = lt.isPresent(director_name, catalog['directors'], equal) if pos != 0: model.updateDirector(catalog, pos, movie_counter) else: model.addDirector(catalog, row, movie_counter) movie_counter += 1 t1_stop = process_time() #tiempo inicial print('Tiempo de ejecución carga directores',t1_stop-t1_start,' segundos') model.endDirectorslist(catalog['directors'])
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")