def loadDetails(catalog, moviesDetailsFile):
    """
    Carga cada una de las lineas del archivo de películas.
    - Se agrega cada película al catalogo de películas.
    - Por cada película se encuentra su productora y por cada
      productora, se crea una lista con sus películas
    """
    t1_start = process_time()  #tiempo inicial
    moviesDetailsFile = cf.data_dir + moviesDetailsFile
    input_file = csv.DictReader(open(moviesDetailsFile, encoding="utf-8-sig"),
                                delimiter=";")
    for movie in input_file:
        model.addMovie(catalog, movie)
        producers = movie['production_companies'].split(",")
        #       countries = movie['production_countries'].split(",")
        for producer in producers:
            model.addMovietoMovieFilmProducer(catalog, producer.strip(), movie)


#       for country in countries:
#           model.addMovietoCountry(catalog, country.strip(), movie)
        for gender in genres:
            model.addMovietoGender(catalog, gender.strip(), movie)

    t1_stop = process_time()  #tiempo final
    print("Tiempo de ejecución ", t1_stop - t1_start, " segundos")
Beispiel #2
0
def loadData(catalog, movies_file1, movies_file2, n: int = "ALL"):
    """
    Carga cada una de las lineas del archivo de libros.
    - Se agrega cada libro al catalogo de libros
    - Por cada libro se encuentran sus autores y por cada
      autor, se crea una lista con sus libros>
    """
    dialect = csv.excel()
    dialect.delimiter = ";"
    movies_file1 = cf.data_dir + movies_file1
    movies_file2 = cf.data_dir + movies_file2

    input_file1 = csv.DictReader(open(movies_file1, encoding="utf-8-sig"),
                                 dialect=dialect)
    input_file2 = csv.DictReader(open(movies_file2, encoding="utf-8-sig"),
                                 dialect=dialect)

    count = 0
    for movie1, movie2 in zip(input_file1, input_file2):
        if (n != "ALL") and (count > n):
            break
        movie1.update(
            movie2)  # se que es severo machetazo :V, lo sugirio  erich
        model.addMovie(catalog, movie1)
        count += 1
def loadDetails(catalog, fileD, sep=';'):
    t1_start = process_time()  # tiempo inicial
    dialect = csv.excel()
    dialect.delimiter = sep
    with open(fileD, encoding="utf-8-sig") as csvfile:
        input_file = csv.DictReader(csvfile, dialect=dialect)
        for movie in input_file:
            model.addMovie(catalog, movie)

            productora = movie['production_companies']
            if productora == 'none':
                pass
            else:
                model.addProductora(catalog, movie)

            pais = movie['production_countries']
            if pais == 'none':
                pass
            else:
                model.addPais(catalog, movie)

            generos = movie['genres'].split('|')
            if len(generos) == 0:
                pass
            for genre in generos:
                genre = genre.lower()
                model.addGenero(catalog, movie, genre)

    t1_stop = process_time()  # tiempo final
    print("Tiempo de ejecución ", t1_stop - t1_start, " segundos")
def loadData(catalog, detailsfile, castingfile):
    """
    Carga cada una de las lineas del archivo de libros.
    - Se agrega cada libro al catalogo de libros
    - Por cada libro se encuentran sus autores y por cada
      autor, se crea una lista con sus libros
    """
    t1_start = process_time()  #tiempo inicial
    dialect = csv.excel()
    dialect.delimiter = ";"
    detailsfile = cf.data_dir + detailsfile
    #input_file = #csv.DictReader(open(detailsfile,encoding="utf-8"), dialect=dialect)
    input_file = csv.DictReader(open(detailsfile, encoding="utf-8-sig"),
                                dialect=dialect)
    castingfile = cf.data_dir + castingfile
    input_file2 = csv.DictReader(open(castingfile, encoding="utf-8"),
                                 dialect=dialect)
    #i = 0
    #j = 0
    for movie, casting in zip(input_file, input_file2):
        #i += 1
        model.addMovie(catalog, movie)
        model.addCasting(catalog, casting, movie)
        #print(i)
    t1_stop = process_time()
    #print(t1_stop)
    """for casting in input_file2:
      j += 1
      model.addCasting(catalog,casting)
      print(j)
    t1_stop = process_time() #tiempo final"""
    print("Tiempo de ejecución ", t1_stop - t1_start, " segundos")
Beispiel #5
0
def loadMovies(catalog, moviesfile):
    """
    Carga cada una de las lineas del archivo de películas.
    - Se agrega cada película al catalogo de películas
    """
    moviesfile = cf.data_dir + moviesfile
    dialect = csv.excel()
    dialect.delimiter = ';'
    try:
        with open(moviesfile, encoding="utf-8-sig") as csvfile:
            row = csv.DictReader(csvfile, dialect=dialect)
            for movie in row:
                lst = model.nueva_lista("ARRAY_LIST")
                model.addMovie(catalog, movie)
                producers = movie[
                    'production_companies']  # Se obtienen las productoras
                countries = movie[
                    'production_countries']  # Se obtienen los países
                release_date = movie['release_date']
                year = release_date.split("/")
                model.addMovieProducer(catalog, producers, movie)
                model.añanir_pelicula(lst, movie['title'])
                model.añanir_pelicula(lst, year[-1])
                model.añanir_pelicula(lst, movie['id'])
                model.addCountry(catalog, countries, lst)
                genre = movie['genres']
                genre_sep = genre.split('|')
                for genero in genre_sep:
                    model.addMovieGenre(catalog, genero, movie)
    except:
        print("Hubo un error en la carga de archivos")
Beispiel #6
0
def loadPeliculas(lst, file):
    dialect = csv.excel()
    dialect.delimiter = ";"
    try:
        with open(cf.data_dir + file, encoding="utf-8") as csvfile:
            row = csv.DictReader(csvfile, dialect=dialect)
            for elemento in row:
                ## Eliminar la información que no fue solicitada para el laboratorio
                elemento.pop("id")
                elemento.pop("budget")
                elemento.pop("genres")
                elemento.pop("imdb_id")
                elemento.pop("original_language")
                elemento.pop("overview")
                elemento.pop("popularity")
                elemento.pop("production_companies")
                elemento.pop("production_countries")
                elemento.pop("revenue")
                elemento.pop("runtime")
                elemento.pop("status")
                elemento.pop("tagline")
                elemento.pop("original_title")
                elemento.pop("production_companies_number")
                elemento.pop("spoken_languages_number")
                elemento.pop("production_countries_number")
                model.addMovie(lst, elemento)
    except:
        print("Hubo un error con la carga del archivo")
    return lst
def loadMovies(catalog, moviesfile):
    moviesfile= cf.data_dir + moviesfile
    input_file= cvs.DictReader(open(moviesfile))
    for movies in input_file:
        model.addMovie(catalog, movie)
        directors= movie["director"].split(",")
        for director in directors:
            model.addMovieDirector(catalog, director.strip(), movie)
Beispiel #8
0
def loadPeliculas(lst, fileC):
    fileC = cf.data_dir + fileC
    input_file = csv.DictReader(open(fileC, encoding="utf-8"))
    for Movie in input_file:
        model.addMovie(lst, Movie)
        Companys = Movie['production_companies'].split(";")
        for company in Companys:
            model.addMoviesCompany(lst, company.strip(), Movie)
def loadMovie(catalog, moviesfile):
    moviesfile = cf.data_dir + moviesfile
    dialect = csv.excel()
    dialect.delimiter = ";"
    input_file = csv.DictReader(open(moviesfile, encoding="utf-8"),
                                dialect=dialect)
    for movie in input_file:
        model.addMovie(catalog, movie)
def loadcasting(lst, fileC):
    fileC = cf.data_dir + fileC
    input_file = csv.DictReader(open(fileC, encoding="utf-8"), delimiter=";")
    for Movie in input_file:
        model.addMovie(lst, Movie)
        directores = Movie['director_name'].split(";")
        for director in directores:
            model.addMoviesDirector(lst, director.strip(), Movie)
Beispiel #11
0
def loadData(catalogo, detailsfile, castingfile):

    detailsfile = cf.data_dir + detailsfile
    input_file = csv.DictReader(open(detailsfile))
    for movie in input_file:
        model.addMovie(catalogo, movie)
        companies = movie['production_companies'].split(
            ",")  # Se obtienen las compañias productoras
        for company in companies:
            model.addCompany(catalogo, company.strip(), movie)
Beispiel #12
0
def loadmoviesdetails(catalog, moviesdetails):
    """
    Carga en el catalogo los tags a partir de la informacion
    del archivo de etiquetas
    """
    moviesdetails = cf.data_dir + moviesdetails
    input_file = csv.DictReader(open(moviesdetails, encoding='utf-8-sig'), delimiter=";")
    for movie in input_file:
        model.addMovie(catalog, movie)
        model.addProductionCompanie(catalog, movie["production_companies"], movie)
        model.add_genre(catalog,movie["genres"],movie)
        model.addCountrie(catalog,movie["production_countries"],movie)
def loadDetails (catalogo,movies_details,sep=";"):
    dialect= csv.excel()
    dialect.delimiter=sep
    with open(movies_details, encoding="utf-8-sig") as csvfile:
        spamreader = csv.DictReader(csvfile,dialect=dialect)
        for row in spamreader:
            model.addMovie(catalogo,row)
            model.addCompanyMovie(catalogo,row["production_companies"].lower(),row)
            generos = row["genres"].split('|')
            for i in generos:
                model.addGenreMovie(catalogo, i.lower(), row)
    return catalogo
Beispiel #14
0
def loadCSVFile(linkC, linkD, data, sep=";"):
    dialect = csv.excel()
    dialect.delimiter = sep
    with open(linkC, encoding="utf-8-sig") as csvfileC, open(
            linkD, encoding="utf-8-sig") as csvfileD:
        bufferC = csv.DictReader(csvfileC, dialect=dialect)
        bufferD = csv.DictReader(csvfileD, dialect=dialect)
        cont = 0
        for movieC, movieD in zip(bufferC, bufferD):
            cont += 1
            if cont == elements:
                break
            model.addMovie(data, movieD, movieC)
Beispiel #15
0
def loadData(catalog, detailsfile, castingfile):
    """
    Carga los datos de los archivos en el modelo
    """
    dialect = csv.excel()
    dialect.delimiter = ";"
    detailsfile = cf.data_dir + detailsfile
    input_file = csv.DictReader(open(detailsfile, encoding='utf-8'),
                                dialect=dialect)
    #open(config.data_dir + archivo, encoding="utf-8") as csvfile:
    for details in input_file:
        model.addMovie(catalog, details)
        producers = details['production_companies'].split(
            ",")  # Se obtienen las productoras
        for producer in producers:
            model.addMovieProducer(catalog, producer.strip(), details)
        genres_peli = details["genres"].split(",")
        for genre in genres_peli:
            model.AddMovieByGenre(catalog, genre.strip(), details)
        countries = details["production_countries"].split(",")
    castingfile = cf.data_dir + castingfile
    input_c_file = csv.DictReader(open(castingfile, encoding='utf-8'),
                                  dialect=dialect)
    #open(config.data_dir + archivo, encoding="utf-8") as csvfile:
    for casting in input_c_file:
        directors = casting['director_name'].split(
            ",")  # Se obtienen los directores
        for director in directors:
            model.addMovieDirector(catalog, director.strip(), details, casting)
        actor1 = casting["actor1_name"].split(",")
        actor2 = casting["actor2_name"].split(",")
        actor3 = casting["actor3_name"].split(",")
        actor4 = casting["actor4_name"].split(",")
        actor5 = casting["actor5_name"].split(",")
        for actoruno in actor1:
            model.AddMovieByActor(catalog, actoruno.strip(), input_file,
                                  casting)
        for actordos in actor2:
            model.AddMovieByActor(catalog, actordos.strip(), input_file,
                                  casting)
        for actortres in actor3:
            model.AddMovieByActor(catalog, actortres.strip(), input_file,
                                  casting)
        for actorcuatro in actor4:
            model.AddMovieByActor(catalog, actorcuatro.strip(), input_file,
                                  casting)
        for actorcinco in actor5:
            model.AddMovieByActor(catalog, actorcinco.strip(), input_file,
                                  casting)
def funciones(catalog, lista_unida):
    it1 = it.newIterator(lista_unida)
    while it.hasNext(it1):
        movie = it.next(it1)
        model.addMovie(catalog, movie)
        companies = movie["production_companies"].split(",")
        for company in companies:
            model.addMovieCompany(catalog, company, movie)
        model.addMovieDirector(catalog, movie["director_name"], movie)

        model.addMovieActor(catalog, movie["actor1_name"], movie)
        model.addMovieActor(catalog, movie["actor2_name"], movie)
        model.addMovieActor(catalog, movie["actor3_name"], movie)
        model.addMovieActor(catalog, movie["actor4_name"], movie)
        model.addMovieActor(catalog, movie["actor5_name"], movie)
        #model.directoresDEactores(catalog)
        model.addMovieGenres(catalog, movie["genres"], movie)
        model.addMovieCountry(catalog, movie["production_countries"], movie)
def loadData(catalog, Detailsfile, Castingfile):
    """
    Carga los datos de los archivos en el modelo
    """
    list_unida = lt.newList("ARRAY_LIST", None)
    list_details = loadDetails(catalog, Detailsfile)
    list_casting = loadCasting(catalog, Castingfile)
    it1 = it.newIterator(list_details)
    while it.hasNext(it1):
        movie = it.next(it1)
        model.addMovie(catalog, movie)
        it2 = it.newIterator(list_casting)
        while it.hasNext(it2):
            peli = it.next(it2)
            if movie["id"] == peli["id"]:
                union = {**movie, **peli}
                lt.addLast(list_unida, union)
                break
    return list_unida
Beispiel #18
0
def loadMoviesCasting(catalog, moviesCasting):
    moviesCasting = cf.data_dir + moviesCasting
    input_file = csv.DictReader(open(moviesCasting))
    for director in input_file:
        model.addMovie(catalog, director)
Beispiel #19
0
def loadMovieDetails(catalog, moviesDetails):
    moviesDetails = cf.data_dir + moviesDetails
    input_file = csv.DictReader(open(moviesDetails))
    for movie in input_file:
        model.addMovie(catalog, movie)