def requerimiento2(valor_minEnergy, valor_maxEnergy, valor_minDanceability, valor_maxDanceability, catalog): """ LLama la funcion del requerimiento 2 del controller """ return controller.requerimiento2(valor_minEnergy, valor_maxEnergy, valor_minDanceability, valor_maxDanceability, catalog)
printReq1(menor, mayor, respuesta[2]) print("\nTiempo [ms]: ", f"{respuesta[0]:.3f}", " || ", "Memoria [kB]: ", f"{respuesta[1]:.3f}") print("\nSe ejecutó el requerimiento 1\n") elif int(inputs[0]) == 4: menor1 = float(input("Ingrese el rango menor de Energy: ")) mayor1 = float(input("Ingrese el rango mayor de Energy: ")) menor2 = float(input("Ingrese el rango menor de Danceability: ")) mayor2 = float(input("Ingrese el rango mayor de Danceability: ")) # menor1, mayor1, menor2, mayor2 = 0.5, 0.75, 0.75, 1.0 # respuesta = controller.requerimiento2(catalog, menor1, mayor1, menor2, mayor2) printReq2_3(menor1, mayor1, menor2, mayor2, respuesta[2][0], respuesta[2][1], 2) print("\nTiempo [ms]: ", f"{respuesta[0]:.3f}", " || ", "Memoria [kB]: ", f"{respuesta[1]:.3f}") print("\nSe ejecutó el requerimiento 2\n") elif int(inputs[0]) == 5: menor1 = float(input("Ingrese el rango menor de Instrumentalness: ")) mayor1 = float(input("Ingrese el rango mayor de Instrumentalness: ")) menor2 = float(input("Ingrese el rango menor de Tempo: ")) mayor2 = float(input("Ingrese el rango mayor de Tempo: ")) # menor1, mayor1, menor2, mayor2 = 0.6, 0.9, 40.0, 60.0 #
carac = input('Diga la característica que busca: ') val_min= float(input('Diga el valor mínimo que debe tener la característica: ')) val_max= float(input('Diga el valor máximo que debe tener la característica: ')) rta = controller.requerimiento1(catalog, carac, val_min, val_max) print(carac, " está entre ", val_min, " y ", val_max) print("Total de reproducciones: ", rta[1], " Total de artistas únicos: ", rta[0]) elif int(inputs[0]) == 3: min_e = float(input("Diga el valor mínimo de energy.")) max_e = float(input("Diga el valor máximo de energy.")) min_d = float(input("Diga el valor mínimo de danceability.")) max_d = float(input("Diga el valor máximo de danceability.")) rta = controller.requerimiento2(catalog, min_e,max_e, min_d, max_d) total_tracks = rta[1] tracks = rta[0] track1 = tracks[0][0] track2 = tracks[1][0] track3 = tracks[2][0] track4 = tracks[3][0] track5 = tracks[4][0] energy1 = tracks[0][1] energy2 = tracks[1][1] energy3 = tracks[2][1] energy4 = tracks[3][1] energy5 = tracks[4][1]
lista = controller.requerimiento1(catalog, pais, categoria) for i in range(1, tamano + 1): x = lt.getElement(lista[0], i) print(i, " : ", "Titulo: ", x["title"], " dia tendencia: ", x["trending_date"], " canal: ", x["channel_title"], " fecha_publicación: ", x["publish_time"], " vistas: ", x["views"], " likes: ", x["likes"], " dislikes: ", x["dislikes"], " pais: ", x["country"], " categoria: ", x["category_id"]) print("el algoritmo se demora: ", lista[1], " ms") elif inputs == 4: pais = input("Ingrese el nombre del pais ") print("cargando...") video_dias = controller.requerimiento2(catalog, pais) video = video_dias[0] print("Titulo: ", video["title"], " Canal: ", video["channel_title"], " Pais: ", video["country"], " dias: ", video_dias[1]) print("El algoritmo se demora :", video_dias[2], " ms") elif inputs == 5: nombres = input("Ingrese la categoria del video ") print("Cargando...") video_cates = controller.requerimientos3(catalog, nombres) video = video_cates[0] print(video["title"], " ", video["channel_title"], " ", video["category_id"], " ", video_cates[1]) print("el algoritmo se demora :", video_cates[2], "ms") elif inputs == 6: pais = input("Ingrese el nombre del pais ")
elif int(inputs[0]) == 2: origin = input("Ingresa el landing point origen: ") destination = input("Ingresa el landing point destino: ") result = controller.requerimiento1(analyzer, origin, destination) print('El número de componentes conectados es: ', result[0][0]) if result[0][1]: print('Los landing point ' + origin, ' y ' + destination + ' estan en el mismo cluster') else: print('Los landing point ' + origin, ' y ' + destination + ' no estan en el mismo cluster') print("\nTiempo [ms]: ", f"{result[1][0]:.3f}", " || ", "Memoria [kB]: ", f"{result[1][1]:.3f}") elif int(inputs[0]) == 3: result = controller.requerimiento2(analyzer) for value in lt.iterator(result[0][0]): print(value) print('El anterior landing point tiene un total de ', result[0][1], ' interconexiones con cables') print("\nTiempo [ms]: ", f"{result[1][0]:.3f}", " || ", "Memoria [kB]: ", f"{result[1][1]:.3f}") elif int(inputs[0]) == 4: origin = input('Ingrese el pais de origen: ') destination = input('Ingrese el pais de destino: ') result = controller.requerimiento3(analyzer, origin, destination) if result[0] is not None: distance = 0 while (not stack.isEmpty(result[0])): edge = stack.pop(result[0])
print("Tiempo [ms]: ", f"{answer[0]:.3f}", " || ", "Memoria [kB]: ", f"{answer[1]:.3f}") elif int(inputs[0]) == 3: categg = input("Indique la categoria: ") categ = controller.buscarcateporname(categg, catalog) pais = input("Indique el pais: ") siz = input("Indique tamaño de la muestra: ") result = controller.requerimiento1(catalog, int(siz), categ, pais) print("Los ", siz, " videos con mas likes son:") printvieostop(result) elif int(inputs[0]) == 4: pais = input("Indique el pais: ") repuesta = controller.requerimiento2(catalog, pais) if lt.size(repuesta) <= 0: print("No hay sufiecientes videos que cumplan las condiciones ") else: primero = lt.firstElement(repuesta) print(" El video con mas dias en tendencia de " + str(pais) + " es: ") print(" Titulo: " + str(primero['title'])) print(" Nombre del canal: " + str(primero['channel_title'])) print(" Pais: " + str(primero['country'])) print(" Dias: " + str(primero['dias'])) elif int(inputs[0]) == 5: category_name = input("Indique nombre de categoria: ") categor = controller.buscarcateporname(category_name, catalog)
print("se cargaron:" + str(lt.size(catalog["videos"])) + "videos") elif int(inputs[0]) == 2: print("mejores videos por pais") categoria = input("Escoja una categoria: ").capitalize() pais = input("Escoja un pais: ") muestra = int(input("Cuantos videos quiere ver: ")) for i in controller.requerimiento1(categoria, pais, muestra, catalog, Categoria): for k, v in i.items(): if k == "trending_date" or k == "title" or k == "channel_title" or k == "publish_date" or k == "views" or k == "likes" or k == "dislikes": print(k + ": " + v) elif int(inputs[0]) == 3: pais = input("Escoja un pais: ") for k, v in controller.requerimiento2(catalog, pais)[0].items(): if k == "title" or k == "channel_title": print(k + " : " + v) print("Pais: " + pais + " ,Dias: " + str(controller.requerimiento2(catalog, pais)[1])) elif int(inputs[0]) == 4: print("Se ejecuto requerimiento 3 ") categoria = input("Escoja una categoria: ").capitalize() for k, v in controller.requerimiento3(catalog, Categoria, categoria)[0].items(): if k == "title" or k == "channel_title": print(k + " : " + v) print( "Dias: " + str(controller.requerimiento3(catalog, Categoria, categoria)[1]) +
print( '--> '+ 'trending_date: ' + video['trending_date'] + ' ||' + ' Title: ' + video['title'] + ' ||' + ' Channel_title: ' + video['channel_title'] + ' ||' + ' Publish_time: ' + video['publish_time'] + ' ||' + ' Views: ' + video['views'] + ' ||' + ' Likes: ' + video['likes'] + ' ||' + ' Dislikes: ' + video['dislikes']) print("\n") else: print('Es posible que el pais o categoria que busque no existe.\n') # Requerimiento 2. elif int(inputs[0]) == 3: pais = input('Ingrese el nombre del pais a buscar: ') sol = controller.requerimiento2(cont, str(pais)) video = sol[0] print('--> '+ ' Title: ' + video['title'] + ' ||' + ' Channel_title: ' + video['channel_title'] + ' ||' + ' Country: ' + video['country'] + ' ||' + ' Dias: ' + str(sol[1]) + '.' ) # Requerimiento 3. elif int(inputs[0]) == 4: categoria = input('Ingrese el nombre de la categoria a buscar: ') sol = controller.requerimiento3(cont, str(categoria)) video = sol[0] print('--> '+ ' Title: ' + video['title'] + ' ||' + ' Channel_title: ' + video['channel_title'] + ' ||' +
pais = input("Indique el pais: ") size = input("Indique tamaño de la muestra: ") tipodeorden = input("Indique el tipo de ordenamiento que quiere aplicar: ( selection, insertion, shell, quick o merge ) \n") result = controller.requerimiento1(catalog, int(size), tipodeorden, categ, pais, tipo) if lt.size(result[1])<=0: print("No hay sufiecientes videos que cumplan las condiciones ") else: printResults1(result[1], size) print("Para la muestra de", size, " elementos, el tiempo (mseg) es: ", str(result[0])) elif int(inputs[0]) == 3: pais = input("Indique el pais: ") tipodeorden = input("Indique el tipo de ordenamiento que quiere aplicar: ( selection, insertion, shell, quick o merge ) \n") repuesta = controller.requerimiento2(catalog,pais,tipodeorden,tipo) if lt.size(repuesta)<=0: print("No hay sufiecientes videos que cumplan las condiciones ") else: primero=lt.firstElement(repuesta) print(" El video con mas dias en tendencia de " + str(pais) +" es: ") print( " Titulo: "+ str(primero['title'])) print( " Nombre del canal: "+ str(primero['channel_title'])) print( " Pais: "+ str(primero['country'])) print( " Dias: "+ str(primero['dias'])) elif int(inputs[0]) == 4 : category_name= input("indique nombre de categoria: ") categor = buscarcateporname(category_name) tipodeorden = input("Indique el tipo de ordenamiento que quiere aplicar: ( selection, insertion, shell, quick o merge ) \n")
print("Se cargaron " + str(lt.size(catalog["category"])) + " categorias") print(catalog["category"]) printResults(catalog, 1) elif int(inputs[0]) == 2: Nombrecategoria = input(" Digite el nombre de la categoria ") Pais = input(" Digite el pais ") n = int(input(" Digite el numero de videos que quiere listar ")) req1 = controller.requerimiento1(Nombrecategoria, Pais, n, catalog) printreq1(req1) print("Se ejecuto requerimiento 1") elif int(inputs[0]) == 3: Pais = input(" Digite el pais ") req2 = controller.requerimiento2(catalog, Pais) printreq2(req2) print("Se ejecuto requerimiento 2") elif int(inputs[0]) == 4: nombrecategoria = input(" Digite el nombre de la categoria ") req3 = controller.requerimiento3(catalog, nombrecategoria) printreq3(req3) print("Se ejecuto requerimiento 3") elif int(inputs[0]) == 5: tagsbuscar = str(input("Digite el nombre del tag: ")) Pais = str(input("Digite el pais: ")) n = int(input("Digite el numero de videos que quiere listar: ")) req4 = controller.requerimiento4(catalog, Pais, n, tagsbuscar) printreq4(req4)
firstvideo['views'], ",", firstvideo['likes'], ",", firstvideo['dislikes'], ".") # requerimiento 1 elif int(inputs[0]) == 2: pais = input("buscando en el pais: ") categoria = input("buscando en la categoria: ") cantidad = input("cantidad de videos: ") print(controller.requerimiento1(catalog, pais, categoria, cantidad)) #requerimiento 2 elif int(inputs[0]) == 3: pais = input("buscando en el pais: ") print(controller.requerimiento2(catalog, pais)) # requerimiento 3. elif int(inputs[0]) == 4: pass # requerimiento 4. elif int(inputs[0]) == 5: pass else: sys.exit(0) sys.exit(0)
def thread_cycle(): while True: printMenu() inputs = input('Seleccione una opción para continuar\n') if int(inputs[0]) == 1: print("Inicializando .... \n") catalog = controller.iniciar() print("Cargando información de los archivos ....\n") controller.loadArchivos(catalog) print("Total landing points: " + str(controller.totalVer(catalog))) print("Total conexiones entre landing points: " + str(controller.totalConnections(catalog))) print("Total paises: " + str(controller.totalPaises(catalog))) primero = controller.primerVer(catalog) print("Primer landing point: ") print(" Identificador: " + str(primero['landing_point_id'])) print(" Nombre: " + str(primero['name'])) print(" Latitud: " + str(primero['latitude'])) print(" Longitud: " + str(primero['longitude'])) print("Ultimo pais cargado: ") pais = controller.primerPai(catalog) print(" Nombre: " + str(pais['CountryName'])) print(" Poblacion: " + str(pais['Population'])) print(" Usuarios de internet: " + str(pais['Internet users'])) print('El limite de recursion actual: ' + str(sys.getrecursionlimit())) elif int(inputs[0]) == 2: point1 = input( 'Ingrese el primer Landing Point (ej Redondo Beach): ') point2 = input('Ingrese el segundo Landing Point (ej Vung Tau): ') res = controller.requerimiento1(catalog, point1, point2) print('El total de clusters presentes es: ' + str(res[0])) if res[1]: print('Los dos landing points estan en el mismo cluster ') else: print('Los dos landing points noooo estan en el mismo cluster') elif int(inputs[0]) == 3: resp = controller.requerimiento2(catalog) for r in lt.iterator(resp): print("Nombre: " + str(r[1])) print("País:" + str(r[2]).split(',')[1]) print("Identificador: " + str(r[0])) print("Total cables conectados: " + str(r[3])) print("\n") elif int(inputs[0]) == 4: pais1 = input('Ingrese el primer Pais (ej Colombia): ') pais2 = input('Ingrese el segundo Pais (ej Indonesia): ') puesta = controller.requerimiento3(catalog, pais1, pais2) print("Ruta mas corta: ") respuestaxd(puesta[0]) print('Total distancia de la ruta ' + str(puesta[1]) + ' Km') elif int(inputs[0]) == 5: r = controller.requerimiento4(catalog) print('Numero de nodos conectados a la red de expancion minima: ' + str(r[0])) print('Costo totaal de la red de expancion minima: ' + str(r[1]) + ' Km') print('Rama mas larga: ') respuestaxd(r[2]) elif int(inputs[0]) == 6: poin = input('Ingrese el Nombre del landing point: ') rere = controller.requerimiento5(catalog, poin) print('Afecta un total de: ' + str(lt.size(rere)) + ' pises') print('Lista paises') for p in lt.iterator(rere): print(str(p[0])) elif int(inputs[0]) == 7: pass elif int(inputs[0]) == 8: pass else: sys.exit(0) sys.exit(0)