no se... mes merdetes
This commit is contained in:
@@ -1,8 +1,26 @@
|
||||
# Directorios de origen y destino
|
||||
SOURCE_FOLDER = "/home/sergio/roms/batocera_arrm_scrapped"
|
||||
DEST_FOLDER = "/home/sergio/roms/es-de_from_batocera"
|
||||
|
||||
# Indica si se copiaran tambien los videos
|
||||
GET_VIDEOS = False
|
||||
|
||||
SYSTEMS = ["ngp", "ngpc"]
|
||||
# Si está vacío, procesa todos los sistemas
|
||||
SYSTEMS = [
|
||||
"pcenginecd",
|
||||
"psp",
|
||||
"psx",
|
||||
"psx",
|
||||
"saturn",
|
||||
"segacd",
|
||||
"sg1000",
|
||||
"snes",
|
||||
"supergrafx",
|
||||
"supergrafx",
|
||||
"virtualboy",
|
||||
"wswan",
|
||||
"wswanc",
|
||||
]
|
||||
|
||||
CREATE_SYM_LINKS = True
|
||||
# Crea enlces simbolicos en vez de copiar los ficheros
|
||||
CREATE_SYM_LINKS = True
|
||||
|
||||
+69
-11
@@ -7,14 +7,19 @@ import shutil
|
||||
|
||||
def list_directories(path):
|
||||
"""
|
||||
Devuelve una lista de directorios en la ruta especificada
|
||||
que se encuentren en la lista SYSTEMS.
|
||||
Devuelve una lista de directorios en la ruta especificada.
|
||||
Si SYSTEMS no está vacío, filtra por directorios que estén en SYSTEMS.
|
||||
"""
|
||||
# Lista los nombres en la ruta, verifica si son directorios, y si están en SYSTEMS
|
||||
directories = [
|
||||
name for name in os.listdir(path)
|
||||
if os.path.isdir(os.path.join(path, name)) and name in SYSTEMS
|
||||
]
|
||||
if not SYSTEMS: # Si SYSTEMS está vacío, devolver todos los directorios
|
||||
directories = [
|
||||
name for name in os.listdir(path)
|
||||
if os.path.isdir(os.path.join(path, name))
|
||||
]
|
||||
else:
|
||||
directories = [
|
||||
name for name in os.listdir(path)
|
||||
if os.path.isdir(os.path.join(path, name)) and name in SYSTEMS
|
||||
]
|
||||
return directories
|
||||
|
||||
|
||||
@@ -48,6 +53,48 @@ def find_file_extension(folder, base_name):
|
||||
|
||||
|
||||
def create_file_list():
|
||||
"""
|
||||
Crea una lista de archivos basándose en los sistemas translatables
|
||||
y las carpetas de origen y destino especificadas.
|
||||
|
||||
Procesa cada sistema en la lista filtrada:
|
||||
- Verifica la existencia de la carpeta "downloaded_images".
|
||||
- Agrega los archivos (ROMs) de cada sistema, excluyendo los archivos .xml.
|
||||
- Gestiona las ROMs y crea un diccionario de medios asociado a cada archivo.
|
||||
- Agrega el archivo "gamelist.xml" si está presente en el sistema.
|
||||
|
||||
Retorna:
|
||||
list: Una lista de diccionarios, donde cada diccionario representa
|
||||
un archivo ROM o un gamelist, incluyendo información de origen y destino.
|
||||
|
||||
Nota:
|
||||
Usa funciones auxiliares como `filter_translatable_systems`,
|
||||
`list_directories`, `directory_exists`, `list_files`,
|
||||
`get_file_name_without_extension`, `find_file_extension` y otras.
|
||||
|
||||
Ejemplo de entrada:
|
||||
- SOURCE_FOLDER: Carpeta donde se encuentran los sistemas originales.
|
||||
- DEST_FOLDER: Carpeta donde se copiarán las ROMs y medios.
|
||||
- media_table: Diccionario con las configuraciones de medios.
|
||||
|
||||
Ejemplo de salida:
|
||||
[
|
||||
{
|
||||
"name": "rom_name",
|
||||
"rom_source": "ruta/origen/rom",
|
||||
"rom_dest": "ruta/destino/rom",
|
||||
"media": {
|
||||
"key_source": "ruta/origen/medio",
|
||||
"key_dest": "ruta/destino/medio"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "gamelist",
|
||||
"rom_source": "ruta/origen/gamelist.xml",
|
||||
"rom_dest": "ruta/destino/gamelist.xml"
|
||||
}
|
||||
]
|
||||
"""
|
||||
system_list = filter_translatable_systems(list_directories(SOURCE_FOLDER))
|
||||
file_list = []
|
||||
|
||||
@@ -69,7 +116,7 @@ def create_file_list():
|
||||
# Configuración básica del rom
|
||||
element["name"] = rom_name
|
||||
element["rom_source"] = os.path.join(folder, rom)
|
||||
element["rom_dest"] = os.path.join(DEST_FOLDER, "ROMs", system, rom)
|
||||
element["rom_dest"] = os.path.join(DEST_FOLDER, "ROMs", get_system_name(system), rom)
|
||||
|
||||
# Crear el diccionario "media" con dos claves por entrada
|
||||
media_dict = {}
|
||||
@@ -99,7 +146,7 @@ def create_file_list():
|
||||
element = {}
|
||||
element["name"] = "gamelist"
|
||||
element["rom_source"] = os.path.join(folder, file_name)
|
||||
element["rom_dest"] = os.path.join(DEST_FOLDER, "ES-DE", "gamelists", system, file_name)
|
||||
element["rom_dest"] = os.path.join(DEST_FOLDER, "ES-DE", "gamelists", get_system_name(system), file_name)
|
||||
file_list.append(element)
|
||||
|
||||
return file_list
|
||||
@@ -163,7 +210,19 @@ def copy_xml_file(source_path, dest_path):
|
||||
Copia un archivo XML omitiendo las líneas que contienen ciertos textos no deseados.
|
||||
"""
|
||||
# Lista de textos a omitir
|
||||
texts_to_omit = ["<image>", "<wheel>", "<boxart>", "<screenshot>", "<cartridge>", "<mix>", "<video>", "<marquee>", "<thumbnail />"]
|
||||
texts_to_omit = [
|
||||
"<boxart>",
|
||||
"<boxback>",
|
||||
"<cartridge>",
|
||||
"<image>",
|
||||
"<manual>",
|
||||
"<marquee>",
|
||||
"<mix>",
|
||||
"<screenshot>",
|
||||
"<thumbnail />",
|
||||
"<video>",
|
||||
"<wheel>",
|
||||
]
|
||||
|
||||
# Crear el directorio de destino si no existe
|
||||
dest_dir = os.path.dirname(dest_path)
|
||||
@@ -208,7 +267,6 @@ def copy_files_with_structure(data):
|
||||
def main():
|
||||
"""Función principal del programa."""
|
||||
file_list = create_file_list()
|
||||
# pprint.pprint(file_list, width=200)
|
||||
for game in file_list:
|
||||
copy_files_with_structure(game)
|
||||
|
||||
|
||||
@@ -6,6 +6,7 @@ systems_table = {
|
||||
"atari5200": "atari5200",
|
||||
"atari7800": "atari7800",
|
||||
"atarist": "atarist",
|
||||
"atomiswave": "atomiswave",
|
||||
"c64": "c64",
|
||||
"colecovision": "colecovision",
|
||||
"dreamcast": "dreamcast",
|
||||
|
||||
Reference in New Issue
Block a user