예제 #1
0
def allTracks(lst):

    size = lt.size(lst)

    print("Se cargaron " + str(size) + " eventos")
예제 #2
0
    Cargar los Tags de libros
    """
    return controller.loadBooks('GoodReads/book_tags.csv')
    # TO-DO: Modificación de Est-1 en el Lab 2


"""
Menu principal
"""
while True:
    printMenu()
    inputs = input('Seleccione una opción para continuar\n')
    if int(inputs[0]) == 1:
        print("Cargando información de libros....")
        books = loadBooks()
        print('Total de libros cargados: ' + str(lt.size(books)))
        print('Primer libro cargado: ' + str(lt.firstElement(books)))
        # TO-DO: Modificación de Est-1 en el Lab 2

        # TO-DO: Modificación de Est-2 en el Lab 2
        print('Último libro cargado: ' + str(lt.lastElement(books)))

    elif int(inputs[0]) == 2:
        print("Cargando información de tags....")
        tags = loadTags()
        print('Total de tags cargados: ' + str(lt.size(tags)))
    elif int(inputs[0]) == 3:
        # TO-DO: Modificación de Est-2 en el Lab 2
        print("Cargando información de Book-Tags...")
        booktags = loadBooksTags()
        print('Total de Book-Tags cargados: ' + str(lt.size(booktags)))
예제 #3
0
def eventsSize(catalogo):
    print("artistas cargados : " + str(om.size(catalogo['artistas'])))
    print("pistas de audio cargadas : " + str(om.size(catalogo['pistas'])))
    sice = lt.size(catalogo['events'])
    return sice
예제 #4
0
def test_getkeys(map):
    ltset = ht.keySet(map)
    assert lt.size(ltset) == 12
    element = lt.getElement(ltset, 1)
    assert element is not None
예제 #5
0
"""
Menu principal
"""
while True:
    printMenu()
    inputs = input('Seleccione una opción para continuar\n>')

    if inputs == '1':
        print("\nInicializando....")
        # cont es el controlador que se usará de acá en adelante
        cont = controller.init()

    elif inputs == '2':
        print("\nCargando información de accidentes ....")
        controller.loadData(cont, file)
        size = lt.size(cont['lstaccidents'])
        cont['Number'] = size
        (high, nodes, min_key, max_key) = controller.infAnalyzer(cont)
        print('\nLa altura del arbol cargado es igual a: ', str(high))
        print('\nLa cantidad de nodos de arbol son: ', str(nodes))
        print('\nLa primera fecha registrada es: ', str(min_key))
        print('\nLa ultima fecha registrada es: ', str(max_key))
        print('\nLa cantidad de accidentes reportados fue: ',
              str(cont['Number']), '.')

    elif inputs == '3':
        print('\nRecuerde el formato YYYY-mm-dd')
        date_row = input('\nIngrese la fecha con la que desea investigar:\n>')
        try:
            date = datetime.datetime.strptime(date_row, '%Y-%m-%d')
        except:
def test_empty_array(alt):
    assert lt.isEmpty(alt) is True
    assert lt.size(alt) == 0
def tamaño_Accidentes(catalog):
    size = lt.size(catalog["Accidentes"])
    return size
예제 #8
0
def loadBookTags():
    return controller.loadBookTags('GoodReads/book_tags-small.csv')




"""
Menu principal
"""
while True:
    printMenu()
    inputs = input('Seleccione una opción para continuar\n')
    if int(inputs[0]) == 1:
        print("Cargando información de libros....")
        books = loadBooks()
        print('Total de libros cargados: ' + str(lt.size(books)))

    elif int(inputs[0]) == 2:
        print("Cargando información de tags....")
        tags = loadTags()
        print('Total de tags cargados: ' + str(lt.size(tags)))
    
    elif int(inputs[0])==3:
        print("Cargando informacion de Libros-Tags.....")
        bookTags= loadBookTags()
        print("Total de Libros-Tags cargados: " +str(lt.size(bookTags)))

    else:
        sys.exit(0)
sys.exit(0)
예제 #9
0
def moviesSize(catalog):
    """
    Número de libros en el catago
    """
    return lt.size(catalog['movies'])
        print('Accidentes cargados: ' +
              str(controller.sizeAccidentes(accidentes)))
        print('Fechas cargadas: ' + str(controller.sizeArbol(accidentes)),
              "\n")

    elif int(inputs[0]) == 3:
        Fecha = input('Ingrese la fecha de busqueda (YYYY-MM-DD)\n>: ')
        print("\nBuscando accidentes en la fecha... ")
        tamaño, lista = controller.Dar_cantidad_por_fecha(accidentes, Fecha)
        print("\nSe encontraron", tamaño, "accidentes registrados en la fecha",
              Fecha)
        iterador = it.newIterator(lista)
        while it.hasNext(iterador):
            element = it.next(iterador)
            Severidad = element["Severidad"]
            size = lt.size(element["Lista_Accidentes"])
            print("Hay", size, " acccidentes reportados con severidad: ",
                  Severidad)

    elif int(inputs[0]) == 4:
        print("\nAccidentes antes de una fecha: ")
        Fecha = input(
            "Ingrese la fecha hasta la que quiere conocer los accidentes (YYYY-MM-DD): "
        )
        print("Buscando accidentes...")
        tamaño, lista = (controller.Dar_cantidad_fecha_adelante(
            accidentes, Fecha))
        print(lista)
        acc = max(lista.values())
        for i in lista:
            if lista[i] == acc:
예제 #11
0
def crimesSize(analyzer):
    """
    Número de crimenes
    """
    return lt.size(analyzer['crimes'])
def accidentsSize(analyzer):
    return lt.size(analyzer['accidents'])
def accidentesSize(analyzer):
    """
    Número de accidentes leidos

    """
    return lt.size(analyzer['accidentes'])
     print("\nBuscando accidentes en una fecha: ")
     initialDate = input("Fecha (YYYY-MM-DD): ")
     lst = controller.getAccidentsByRange(cont, initialDate, initialDate)
     print("\nTotal de accidentes en el dia: " +
           str(controller.cont_accidents(lst)))
     tabla = controller.severities(lst)
     print(m.get(tabla, "1"))
     print(m.get(tabla, "2"))
     print(m.get(tabla, "3"))
     print(m.get(tabla, "4"))
 elif int(inputs[0]) == 4:
     print("\nBuscando accidentes antes de la fecha: ")
     Date = input("Fecha (YYYY-MM-DD): ")
     lst = controller.getPastAccidents(cont, Date)
     most = controller.mostAccInDate(lst)
     total_acc = lt.size(lst)
     print("\nTotal de accidentes antes de la fecha: " + str(lt.size(lst)))
     print("\nFecha con mas accidentes: " + str(most))
 elif int(inputs[0]) == 5:
     print("\nRequerimiento No 3 del reto 3: ")
     print("\nBuscando accidentes en una fecha: ")
     initialDate = input("Fecha (YYYY-MM-DD): ")
     FinalDate = input("Fecha (YYYY-MM-DD): ")
     lst = controller.getAccidentsByRange(cont, initialDate, FinalDate)
     # print(lst)
     numero_accidentes = (controller.cont_accidents(lst))
     print("el numero de accidentes entre " + str(initialDate) + " y " +
           str(FinalDate) + " fue: " + str(numero_accidentes))
     hash_t = controller.severities(lst)
     lstValues = m.valueSet(hash_t)
     key_value = controller.getMaxSeverity(lstValues, hash_t)
예제 #15
0
def count(catalog, gender_name):
    entry = mp.get(catalog['genres'], gender_name)
    gender = me.getValue(entry)
    talla = lt.size(gender["movies"])
    gender["vote_count"] = round(gender["vote_count"] / talla, 2)
예제 #16
0
    else:
        print('No se encontraron libros')

catalog = None

"""
Menu principal
"""
while True:
    printMenu()
    inputs = input('Seleccione una opción para continuar\n')
    if int(inputs[0]) == 1:
        print("Cargando información de los archivos ....")
        catalog = initCatalog()
        loadData(catalog)
        print('Libros cargados: ' + str(lt.size(catalog['books'])))
        print('Autores cargados: ' + str(lt.size(catalog['authors'])))
        print('Géneros cargados: ' + str(lt.size(catalog['tags'])))
        print('Asociación de Géneros a Libros cargados: ' +
              str(lt.size(catalog['book_tags'])))

    elif int(inputs[0]) == 2:
        number = input("Buscando los TOP ?: ")
        books = controller.getBestBooks(catalog, int(number))
        printBestBooks(books)

    elif int(inputs[0]) == 3:
        authorname = input("Nombre del autor a buscar: ")
        author = controller.getBooksByAuthor(catalog, authorname)
        printAuthorData(author)
예제 #17
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
예제 #18
0
def req_5_v_2(analyzer, start_time, end_time):

    keys = om.valueSet(analyzer['sentiment_values'])

    list_of_maps = om.values(analyzer['hash_generos'], start_time, end_time)

    registropy = mp.newMap(numelements=65, maptype='PROBING', loadfactor=0.3)

    for hash_table in lt.iterator(list_of_maps):
        keyset = mp.keySet(hash_table['mapContent'])
        for key in lt.iterator(keyset):
            entry = mp.get(hash_table['mapContent'], key)
            videos_list = me.getValue(entry)
            size = lt.size(videos_list['lstContent'])
            lamborghini = mp.get(registropy, key)

            if lamborghini is not None:
                lamborghini = me.getValue(lamborghini)
                lamborghini += size
                mp.put(registropy, key, lamborghini)
            elif lamborghini is None:
                mp.put(registropy, key, size)

    totalreps = 0
    genres = mp.keySet(registropy)
    mayor = ''
    repsmax = 0
    repstemp = 0
    for genre in lt.iterator(genres):
        repstemp = me.getValue(mp.get(registropy, genre))
        if repstemp > repsmax:
            repsmax = repstemp
            mayor = genre
        if 'unique' not in genre:
            totalreps += repstemp

    print('There is a total of ' + str(totalreps) + ' reproductions between ' +
          start_time + ' and ' + end_time)
    print(
        '================================ GENRES SORTED REPRODUCTIONS ================================'
    )
    print('Metal unique: ' +
          str(me.getValue(mp.get(registropy, 'Metal_unique'))))
    print('Metal: ' + str(me.getValue(mp.get(registropy, 'Metal'))))
    print('Reggae: ' + str(me.getValue(mp.get(registropy, 'Reggae'))))
    print('Down-tempo: ' + str(me.getValue(mp.get(registropy, 'Down-tempo'))))
    print('Chill-out: ' + str(me.getValue(mp.get(registropy, 'Chill-out'))))
    print('Hip-hop: ' + str(me.getValue(mp.get(registropy, 'Hip-hop'))))
    print('Pop: ' + str(me.getValue(mp.get(registropy, 'Pop'))))
    print('R&B: ' + str(me.getValue(mp.get(registropy, 'R&B'))))
    print('Rock: ' + str(me.getValue(mp.get(registropy, 'Rock'))))
    print('Jazz and Funk: ' +
          str(me.getValue(mp.get(registropy, 'Jazz and Funk'))))

    all_videos = hp.newHeap(heap_compare)
    for hash_table in lt.iterator(list_of_maps):
        keyset = mp.keySet(hash_table['mapContent'])
        for key in lt.iterator(keyset):
            if key == mayor:
                entry = mp.get(hash_table['mapContent'], key)
                videos_list = me.getValue(entry)
                for video in lt.iterator(videos_list['lstContent']):
                    hp.insert(all_videos, video)
    print('The TOP GENRE is ' + mayor + ' with ' + str(repsmax) +
          ' reproductions...')
    print(mayor + 'SENTIMENT ANALYSIS')
    if mayor == 'Metal':
        print('Metal has ' +
              str(me.getValue(mp.get(registropy, 'Metal_unique'))) +
              ' unique tracks...')
    for i in range(1, 11):
        video = hp.delMin(all_videos)
        vader_avg = 0
        count = 0
        for hashtag in lt.iterator(video['hashtag']):
            entry = om.get(analyzer['sentiment_values'], hashtag)
            if entry is not None:
                value = me.getValue(entry)
                lst = value['lstContent']['elements'][0]['vader_avg']
                if lst != '':
                    vader_avg += float(lst)
                    count += 1
        if count > 0:
            vader_avg /= count
        else:
            vader_avg = 0
        print('TOP ' + str(i) + ' track: ' + video['track_id'] + ' with ' +
              str(lt.size(video['hashtag'])) + ' and VADER = ' +
              str(vader_avg))
def test_removeFirst_array(altbooks, books):
    assert lt.size(altbooks) == 5
    lt.removeFirst(altbooks)
    assert lt.size(altbooks) == 4
    book = lt.getElement(altbooks, 1)
    assert book == books[1]
예제 #20
0
def content_size(analyzer):
    return lt.size(analyzer['content_features'])
예제 #21
0
def test_getvalues(map):
    ltset = ht.valueSet(map)
    assert lt.size(ltset) == 12
예제 #22
0
def booksSize(catalog):
    """
    Número de libros en el catago
    """
    return lt.size(catalog['books'])
예제 #23
0
    if str(inputs[0]) == "1":
        x = 'ARRAY_LIST'
        print("\nCargando información de los archivos ....")
        catalog = initCatalog(x)
        loadData(catalog)
        first = lt.firstElement(catalog['video'])
        primervideo = {
            'Título: ': str(first.get('title')),
            'Nombre del canal: ': str(first.get('channel_title')),
            'Fue tendencia el día: ': str(first.get('trending_date')),
            'Visitas: ': str(first.get('views')),
            'Likes: ': str(first.get('likes')),
            'Dislikes: ': str(first.get('dislikes'))}

        print('\nVideos cargados: ' + str(lt.size(catalog['video'])))
        print('\nDatos del primer video: ')
        for i in primervideo.keys():
            print(str(i) + str(primervideo.get(i)))
        print(
            "\n" + str(lt.size(catalog['category'])) + ' Categorías cargadas: '
            )
        i = 1
        resultadoxy = []
        while i <= int(lt.size(catalog['category'])):
            resultadoxy.append(
                lt.getElement(catalog['category'], i).get('c_id') + ":" +
                lt.getElement(catalog['category'], i).get('name'))
            i += 1
        print(*resultadoxy, sep=' ')
        print('Menor Llave: ' + str(controller.minKey(cont)))
        print('Mayor Llave: ' + str(controller.maxKey(cont)))
        print('\nInformación sobre el arbol de tiempo: \n')
        print('Altura del arbol: ' + str(controller.indexHeight1(cont)))
        print('Elementos en el arbol: ' + str(controller.indexSize1(cont)))
        print('Menor Llave: ' + str(controller.minKey1(cont)))
        print('Mayor Llave: ' + str(controller.maxKey1(cont)))

    elif int(inputs[0]) == 3:
        print("\nBuscando accidentes en una fecha específica: ")
        initialDate = input("Fecha deseada (YYYY-MM-DD): ")
        lst = controller.getCrimesByRange(cont, initialDate)
        if lst == None:
            print("En la fecha ingresada no se presentaron crímenes")
        else:
            print('Total de accidentes: ' + str(lt.size(lst['lstcrimes'])))
            iterator = it.newIterator(lst['lstcrimes'])
            while it.hasNext(iterator):
                crime = it.next(iterator)
                print("Descripción del accidente: " + crime['Description'] +
                      ', ' + "Su severidad fue de: " + str(crime['Severity']))

    elif int(inputs[0]) == 4:
        print("\nBuscando accidentes anteriores a una fecha específica: ")
        finalDate = input("Fecha deseada (YYYY-MM-DD): ")
        lst = controller.getCrimesByRangeFinal(cont, finalDate)

    elif int(inputs[0]) == 5:
        print("\nRequerimiento No 3 del reto 3: ")
        initialDate = input("Rango Inicial (YYYY-MM-DD): ")
        finalDate = input("Rango Final (YYYY-MM-DD): ")
예제 #25
0
def accidentSize(analyzer):
    """
    Número de crimenes
    """
    return lt.size(analyzer['accidentes'])
예제 #26
0
def moviesSize(catalog):
    """
    Número de libros en el catago
    """
    return lt.size(catalog["production_companies"])
예제 #27
0
def accidentSize(analyzer):
    """
    Número de libros en el catago
    """
    return lt.size(analyzer['accidents'])
예제 #28
0
def average(catalog, production_companie_name):
    entry = mp.get(catalog['production_companies'], production_companie_name)
    companie = me.getValue(entry)
    talla = lt.size(companie["movies"])
    companie["vote_average"] = round(companie["vote_average"] / talla, 2)
예제 #29
0
        

    elif int(inputs[0]) == 2:
        landing_point1 = input('Ingrese el landing point A: ')
        landing_point2 = input('Ingrese el landing point B: ')
        componentes = controller.componentesConectados(analyzer)
        estan = controller.estanLosDosLandingPoints(analyzer, landing_point1, landing_point2)
        print('*' * 25)
        print('El número de clústers es: ' + str(componentes))
        print_Req1(landing_point1, landing_point2, estan)

    elif int(inputs[0]) == 3:
        resultado = controller.lp_mas_cables(analyzer)
        print(resultado)
        i = 0
        tamano = lt.size(resultado[1])
        while i < tamano:
            landp = lt.getElement(resultado[1],i)
            print(type(landp))
            info_del_lp = controller.infoLPmasCables(landp, analyzer)
            printResultsReq2(info_del_lp, resultado[0])
            i += 1

    elif int(inputs[0]) == 4:
        pais_ini = input('Ingrese el pais de origen: ')
        formato = controller.encontrarCapitalDePais(analyzer, pais_ini)
        controller.caminosMenorCosto(analyzer, pais_ini)

    elif int(inputs[0]) == 5:
        #landingA = 'Port Sudan'
        #landingB = 'Suez'
예제 #30
0
        print("El total de componentes fuertemente conectados es: ")
        print(lt.firstElement(lo))
        print("Existe la conexion:")
        print(lt.lastElement(lo))

    elif int(inputs[0]) == 4:
        try:
            tiempo = int(input("Digite el tiempo disponible: "))
            idestacion = input("Digite la id de la estacion: ")
            retorno = controller.requerimiento2(cont, tiempo, idestacion)
            if retorno != False:
                print("-----------")
                print(
                    "Las rutas circulares que se cumplen dentro del rango de tiempo son: "
                )
                for i in range(1, lt.size(retorno) + 1):
                    ciclo = lt.getElement(retorno, i)
                    for j in range(1, lt.size(ciclo) + 1):
                        print(lt.getElement(ciclo, j))
                    print("------------")
            else:
                print("No hay ruta circular para volver a la estacion")
        except:
            print("Ocurrio un error ejecutando el programa")

    elif int(inputs[0]) == 5:
        try:
            lista1, lista2, lista3 = controller.requerimiento3(
                cont["graph"], cont["llegadas"], cont["id"])
            print("Estaciones de salida:")
            for j in range(1, 4):