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"
|
SOURCE_FOLDER = "/home/sergio/roms/batocera_arrm_scrapped"
|
||||||
DEST_FOLDER = "/home/sergio/roms/es-de_from_batocera"
|
DEST_FOLDER = "/home/sergio/roms/es-de_from_batocera"
|
||||||
|
|
||||||
|
# Indica si se copiaran tambien los videos
|
||||||
GET_VIDEOS = False
|
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",
|
||||||
|
]
|
||||||
|
|
||||||
|
# Crea enlces simbolicos en vez de copiar los ficheros
|
||||||
CREATE_SYM_LINKS = True
|
CREATE_SYM_LINKS = True
|
||||||
+69
-11
@@ -7,14 +7,19 @@ import shutil
|
|||||||
|
|
||||||
def list_directories(path):
|
def list_directories(path):
|
||||||
"""
|
"""
|
||||||
Devuelve una lista de directorios en la ruta especificada
|
Devuelve una lista de directorios en la ruta especificada.
|
||||||
que se encuentren en la lista SYSTEMS.
|
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
|
if not SYSTEMS: # Si SYSTEMS está vacío, devolver todos los directorios
|
||||||
directories = [
|
directories = [
|
||||||
name for name in os.listdir(path)
|
name for name in os.listdir(path)
|
||||||
if os.path.isdir(os.path.join(path, name)) and name in SYSTEMS
|
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
|
return directories
|
||||||
|
|
||||||
|
|
||||||
@@ -48,6 +53,48 @@ def find_file_extension(folder, base_name):
|
|||||||
|
|
||||||
|
|
||||||
def create_file_list():
|
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))
|
system_list = filter_translatable_systems(list_directories(SOURCE_FOLDER))
|
||||||
file_list = []
|
file_list = []
|
||||||
|
|
||||||
@@ -69,7 +116,7 @@ def create_file_list():
|
|||||||
# Configuración básica del rom
|
# Configuración básica del rom
|
||||||
element["name"] = rom_name
|
element["name"] = rom_name
|
||||||
element["rom_source"] = os.path.join(folder, rom)
|
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
|
# Crear el diccionario "media" con dos claves por entrada
|
||||||
media_dict = {}
|
media_dict = {}
|
||||||
@@ -99,7 +146,7 @@ def create_file_list():
|
|||||||
element = {}
|
element = {}
|
||||||
element["name"] = "gamelist"
|
element["name"] = "gamelist"
|
||||||
element["rom_source"] = os.path.join(folder, file_name)
|
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)
|
file_list.append(element)
|
||||||
|
|
||||||
return file_list
|
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.
|
Copia un archivo XML omitiendo las líneas que contienen ciertos textos no deseados.
|
||||||
"""
|
"""
|
||||||
# Lista de textos a omitir
|
# 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
|
# Crear el directorio de destino si no existe
|
||||||
dest_dir = os.path.dirname(dest_path)
|
dest_dir = os.path.dirname(dest_path)
|
||||||
@@ -208,7 +267,6 @@ def copy_files_with_structure(data):
|
|||||||
def main():
|
def main():
|
||||||
"""Función principal del programa."""
|
"""Función principal del programa."""
|
||||||
file_list = create_file_list()
|
file_list = create_file_list()
|
||||||
# pprint.pprint(file_list, width=200)
|
|
||||||
for game in file_list:
|
for game in file_list:
|
||||||
copy_files_with_structure(game)
|
copy_files_with_structure(game)
|
||||||
|
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ systems_table = {
|
|||||||
"atari5200": "atari5200",
|
"atari5200": "atari5200",
|
||||||
"atari7800": "atari7800",
|
"atari7800": "atari7800",
|
||||||
"atarist": "atarist",
|
"atarist": "atarist",
|
||||||
|
"atomiswave": "atomiswave",
|
||||||
"c64": "c64",
|
"c64": "c64",
|
||||||
"colecovision": "colecovision",
|
"colecovision": "colecovision",
|
||||||
"dreamcast": "dreamcast",
|
"dreamcast": "dreamcast",
|
||||||
|
|||||||
Reference in New Issue
Block a user