From d652a7beea93bcc3ea65a25ff188384cb8f7c558 Mon Sep 17 00:00:00 2001 From: Sergio Date: Thu, 14 Nov 2024 13:47:00 +0100 Subject: [PATCH] Refinat process_elements() i arreglos en el mirror de wos afegint .p.zip als jocs que no ho tenien --- zxdb.py | 42 ++++++++++++++++++------------------------ 1 file changed, 18 insertions(+), 24 deletions(-) diff --git a/zxdb.py b/zxdb.py index 795ac77..59e9d71 100644 --- a/zxdb.py +++ b/zxdb.py @@ -111,44 +111,38 @@ def connect(query_index=0): except Exception as e: logging.error(f"Error inesperado: {e}") +# Añade un prefijo a la url +def update_url(element, url_prefix): + url = element["url"] + if url.startswith("/zxdb"): + element["url"] = url_prefix["spectrum_computing"] + url + elif url.startswith("/pub"): + element["url"] = url_prefix["wos"] + url[4:] + elif url.startswith("/nvg"): + element["url"] = url_prefix["nvg"] + url[4:] + # Procesa todos lo elementos, modificando cada uno de sus parametros def process_elements(): global elements for i in range(len(elements)): # Construye el nombre de la carpeta raiz - elements[i]["root_folder"] = ( - elements[i]["title"] - + " (" - + str(elements[i]["release_year"]) - + ")(" - + elements[i]["developer"] - + ")" - ) + elements[i]["root_folder"] = f"{elements[i]['title']} ({elements[i]['release_year']})({elements[i]['developer']})" elements[i]["root_folder"] = normalize_path(elements[i]["root_folder"]) + # Añade el prefijo a la url y normaliza los enlaces de "wos" + update_url(elements[i], url_prefix) + # Obtiene el nombre del fichero a partir de la url de descarga elements[i]["file_name"] = url_filename(elements[i]["url"]) # Establece la subcarpeta dentro de la raiz - elements[i]["subfolder"] = "" - if elements[i]["filetype"] not in filetypes_on_root: - elements[i]["subfolder"] = normalize_path(elements[i]["filetype"]) + elements[i]["subfolder"] = normalize_path(elements[i]["filetype"]) if elements[i]["filetype"] not in filetypes_on_root else "" # Averigua si el fichero está en formato .zip - elements[i]["is_zip"] = elements[i]["file_name"].endswith(".zip") + elements[i]["is_zip"] = elements[i]["file_name"].lower().endswith(".zip") # Calcula el nombre del fichero si es un zip - elements[i]["non_zip_file_name"] = elements[i]["file_name"] - if elements[i]["is_zip"]: - elements[i]["non_zip_file_name"] = elements[i]["file_name"][:-4] - - # Añade el prefijo a la url - if elements[i]["url"].startswith("/zxdb"): - elements[i]["url"] = url_prefix["spectrum_computing"] + str(elements[i]["url"]) - elif elements[i]["url"].startswith("/pub"): - elements[i]["url"] = url_prefix["wos"] + str(elements[i]["url"][4:]) - elif elements[i]["url"].startswith("/nvg"): - elements[i]["url"] = url_prefix["nvg"] + str(elements[i]["url"][4:]) + elements[i]["non_zip_file_name"] = elements[i]["file_name"][:-4] if elements[i]["is_zip"] else elements[i]["file_name"] # Devuelve el fichero que forma la parte final de una URL def url_filename(url): @@ -355,7 +349,7 @@ def print_elements(mode=0): def main(): connect(query_index=3) process_elements() - #print_elements(mode=1) + print_elements(mode=1) clear_destination_folder() get_files() remove_empty_directories(destination_path)