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 ") numero = int(input("Ingrese la cantidad de videos ")) tag = input("Ingrese el tag ") print("cargando") videos = controller.requerimiento4(pais, tag, catalog) size = lt.size(videos[0]) if numero > size: numero = size for i in range(1, numero + 1): video = lt.getElement(videos[0], i) print(i, " Titulo: ", video["title"], " Canal: ", video["channel_title"], " Fecha Publicación: ", video["publish_time"], " Likes: ", video["likes"], " Pais: ", video["country"]) print("Tiempo de ejecución: ", videos[1])
menor1, mayor1, menor2, mayor2 = 0.6, 0.9, 40.0, 60.0 # respuesta = controller.requerimiento3(catalog, menor1, mayor1, menor2, mayor2) printReq2_3(menor1, mayor1, menor2, mayor2, respuesta[2][0], respuesta[2][1], 3) print("\nTiempo [ms]: ", f"{respuesta[0]:.3f}", " || ", "Memoria [kB]: ", f"{respuesta[1]:.3f}") print("\nSe ejecutó el requerimiento 3\n") elif int(inputs[0]) == 6: cantidad_generos = int(input("¿Cuántos generos desea buscar? ")) nuevo_genero = input("¿Desea añadir un nuevo género? ") mapa_generos = crear_mapa_generos(cantidad_generos, nuevo_genero) respuesta = controller.requerimiento4(catalog, mapa_generos) printReq4(respuesta[2]) print("\nTiempo [ms]: ", f"{respuesta[0]:.3f}", " || ", "Memoria [kB]: ", f"{respuesta[1]:.3f}") print("\nSe ejecutó el requerimiento 4\n") elif int(inputs[0]) == 7: #horamin = datetime.datetime.strptime((input("Ingrese el valor mínimo de la hora: ")), '%H:%M:%S').time() #horamax = datetime.datetime.strptime((input("Ingrese el valor máximo de la hora: ")), '%H:%M:%S').time() # horamin = datetime.datetime.strptime("7:15:00", '%H:%M:%S').time() horamax = datetime.datetime.strptime("9:45:00", '%H:%M:%S').time() #
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) repuesta = controller.requerimiento3(catalog, categor) 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(category_name) + " es: ") print(" Titulo: " + str(primero['title'])) print(" Nombre del canal: " + str(primero['channel_title'])) print(" Categoria: " + str(primero['category_id'])) print(" Dias: " + str(primero['dias'])) elif int(inputs[0]) == 6: pais = input("Indique el pais: ") tagg = input("Indique el tag: ") size = input("Indique tamaño de la muestra: ") result = controller.requerimiento4(catalog, int(size), tagg, pais) print("Los ", size, " videos con mas likes son:") printvieostop(result) else: sys.exit(0) sys.exit(0) sys.exit(0)
distance = 0 while (not stack.isEmpty(result[0])): edge = stack.pop(result[0]) distance += e.weight(edge) print(edge) print('La distancia es de ', distance, ' Km') else: print('No es posible establecer una conexion') print("\nTiempo [ms]: ", f"{result[1][0]:.3f}", " || ", "Memoria [kB]: ", f"{result[1][1]:.3f}") vermap = input('Desea observar el camino grafica en el mapa?') if vermap == 'si': webbrowser.open('mapa.html') elif int(inputs[0]) == 5: result = controller.requerimiento4(analyzer) distance = 0 while (not lt.isEmpty(result[0][0])): edge = lt.removeLast(result[0][0]) distance += e.weight(edge) print(edge) print( 'El numero de vertices asociados a la red de expansion minima es de: ', result[0][1][1]) print('El costo del MST es de ', result[0][1][0], ' Km') print('El costo de la rama mas larga es de ', distance, ' Km') print("\nTiempo [ms]: ", f"{result[1][0]:.3f}", " || ", "Memoria [kB]: ", f"{result[1][1]:.3f}") vermap = input( 'Desea observar la red de expansion minima graficada en el mapa?') if vermap == 'si':
print('Videos Cargados: '+ str(controller.videosSize(catalog))) print('Categorias Cargadas: '+ str(controller.categoriesSize(catalog))) print('Paises Cargados: '+ str(controller.countriesSize(catalog))) elif int(inputs[0]) == 3: category_name = input('Ingrese el nombre de la categoria: ') country = input('Ingrese el nombre del pais: ') num_vids = input('Ingrese el numero de videos: ') controller.requerimiento1(catalog, category_name, country, num_vids) elif int(inputs[0]) == 4: x = input("Ingrese el país ") print(x) answer = controller.Requerimiento2(catalog,x.lower()) print(answer['title']," " *10 ,answer['channel_title']," " *10 ,answer['country']," " *10 ,answer['trending_days']) elif int(inputs[0]) == 5: category_name = input('Ingrese el nombre de la categoria: ') print('Ejecutando requerimiento 3') ans = controller.requerimiento3(catalog, category_name) print(ans) elif int(inputs[0]) == 6: tag = input('Ingrese el tag: ') tag = tag.lower() country = input('Ingrese el pais: ') num_vids = input('Ingrese el numero de videos: ') controller.requerimiento4(catalog, country, tag, num_vids) sys.exit(0) sys.exit(0)
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]) + " Category_id: ", str(controller.requerimiento3(catalog, Categoria, categoria)[2])) elif int(inputs[0]) == 5: print("Se ejecuto requerimiento 4 ") country = input( "Escoja un país o si desea ver el ranking global digite 'todos': ") tag = input("Digite un tag: ") muestra = int(input("Digite el número de videos que quiere ver: ")) contador = 0 o = controller.requerimiento4(catalog, tag, country) while contador < muestra: print("Title: ", o[contador][0]) print("Channel title: ", o[contador][1][0]) print("Publish time: ", o[contador][1][1]) print("Views: ", o[contador][1][3]) print("Likes: ", o[contador][1][4]) print("Dislikes: ", o[contador][1][5]) print("Tags: ", o[contador][1][2]) contador += 1 else: sys.exit(0) sys.exit(0)
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'] + ' ||' + ' Country: ' + video['country'] + ' ||' + ' Dias: ' + str(sol[1]) + '.' ) # Requerimiento 4. elif int(inputs[0]) == 5: pais = input('Ingrese el nombre del pais a buscar: ') tag = input('Ingrese el Tag en el que sea buscar: ') cantidad = input('ingrese la cantidad de videos a listar con el tag: ') sol = controller.requerimiento4(cont, str(pais), str(tag), int(cantidad)) if sol: for video in lt.iterator(sol): print( '--> '+ ' Title: ' + video['title'] + ' ||' + ' Channel_title: ' + video['channel_title'] + ' ||' + ' Publish_time: ' + video['publish_time'] + ' ||' + ' Views: ' + video['views'] + ' ||' + ' Likes: ' + video['likes'] + ' ||' + ' Dislikes: ' + video['dislikes'] + ' ||' + 'Tags : ' + video['tags'] + '.' ) print("\n") else: print('Es posible que el pais o categoria que busque no existe.\n')
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") repuesta = controller.requerimiento3(catalog,categor,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(category_name) +" es: ") print( " Titulo: "+ str(primero['title'])) print( " Nombre del canal: "+ str(primero['channel_title'])) print( " Categoria: "+ str(primero['category_id'])) print( " Dias: "+ str(primero['dias'])) elif int(inputs[0]) == 5 : tagg = input("Indique el tag: ") 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.requerimiento4(catalog, int(size), tipodeorden, tagg, tipo) if lt.size(result[1])<=0: print("No hay sufiecientes videos que cumplan las condiciones ") else: printResults4(result[1], size) print("Para la muestra de", size, " elementos, el tiempo (mseg) es: ", str(result[0])) else: sys.exit(0) sys.exit(0)
def requerimiento4(catalog, generos): """ Regresa en modo print la informacion """ return controller.requerimiento4(catalog, generos)
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) print("Se ejecuto requerimiento 4") 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)