def getTrendingVideos(catalog, category_name, country, n): categorys = catalog['category'] count = lt.size(categorys) inicio = 0 while inicio <= count: elemento = lt.getElement(categorys, inicio) if elemento['name'] == category_name.strip(): categ = elemento.copy() videos = categ['videos'] tamañoVideos = lt.size(videos) cont = 0 listaVideos = lt.newList('ARRAY_LIST') tamañolv = size(listaVideos) while cont <= tamañoVideos: video = lt.getElement(videos, cont) if video['country'] == country: lt.addLast(listaVideos, video) cont += 1 listaOrdenada = ms.sort(listaVideos, cmpVideosByViews) if int(n) <= tamañolv: listaFinal = lt.subList(listaOrdenada, 0, tamañolv) elif listaVideos == None: listaFinal == None elif int(n) >= tamañolv: listaFinal = lt.subList(listaOrdenada, 0, int(n)) inicio += 1 return listaFinal
def size(lst): """ Informa el número de elementos de la lista. Args lst: La lista a examinar Raises: Exception """ try: if (lst['type'] == 'ARRAY_LIST'): return alt.size(lst) else: return slt.size(lst) except Exception as exp: error.reraise(exp, 'List->size: ')
""" return controller.loadData(catalog) catalog = None 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 = controller.initCatalog() carga = loadData(catalog) print("Tiempo[ms]:", f"{carga[0]:.3f}", "||", "Memoria[kB]:", f"{carga[1]:.3f}") print('videos cargados: ' + str(alt.size(catalog['videos']))) print('Categorias cargadas: ' + str(slt.size(catalog['idname_category']))) print('Paises Cargados: ' + str(mp.size(catalog['country']))) elif int(inputs[0]) == 2: category = str(input('Ingrese la categoria: ')) country = str(input('Ingrese el país: ')) size = int(input('Ingrese el cantidad de videos: ')) print('Consultando la información solicitada...') lst = controller.load_Req_1(catalog['category'], category, country, size) for video in lt.iterator(lst): print('\n') print('video: ' + str(video['title'])) print('trending_date: ' + str(video['trending_date']))