Clean up code: remove duplicates, unused variables, and improve error handling

Co-authored-by: RetroGameSets <102905084+RetroGameSets@users.noreply.github.com>
This commit is contained in:
copilot-swe-agent[bot]
2025-08-04 12:25:21 +00:00
parent 59e85cf47b
commit 9f55fa5417
5 changed files with 12 additions and 60 deletions

View File

@@ -12,7 +12,7 @@ from language import handle_language_menu_events, _
from network import test_internet, download_rom, is_1fichier_url, download_from_1fichier, check_for_updates
from controls import handle_controls, validate_menu_state, process_key_repeats
from controls_mapper import load_controls_config, map_controls, draw_controls_mapping, ACTIONS
from utils import detect_non_pc, load_sources, check_extension_before_download, extract_zip_data, play_random_music
from utils import detect_non_pc, load_sources, check_extension_before_download, extract_zip_data, play_random_music, load_accessibility_settings, load_music_config
from history import load_history, save_history
import config
from config import OTA_data_ZIP
@@ -34,9 +34,8 @@ except Exception as e:
logger = logging.getLogger(__name__)
# Initialisation de Pygame et des polices
# Initialisation de Pygame
pygame.init()
config.init_font()
pygame.joystick.init()
logger.debug("--------------------------------------------------------------------")
logger.debug("---------------------------DEBUT LOG--------------------------------")
@@ -44,7 +43,6 @@ logger.debug("------------------------------------------------------------------
# Chargement des paramètres d'accessibilité
from utils import load_accessibility_settings
config.accessibility_settings = load_accessibility_settings()
for i, scale in enumerate(config.font_scale_options):
if scale == config.accessibility_settings.get("font_scale", 1.0):
@@ -138,7 +136,6 @@ if pygame.joystick.get_count() > 0:
# Initialisation du mixer Pygame
pygame.mixer.pre_init(44100, -16, 2, 4096)
pygame.mixer.init()
from utils import load_music_config
load_music_config()

View File

@@ -17,10 +17,6 @@ from language import _ # Import de la fonction de traduction
logger = logging.getLogger(__name__)
# Délais spécifiques pour les contrôles
JOYHAT_DEBOUNCE = 150 # Délai anti-rebond pour JOYHATMOTION (ms)
JOYAXIS_DEBOUNCE = 150 # Délai anti-rebond pour JOYAXISMOTION (ms)
# Variables globales pour la répétition
key_states = {} # Dictionnaire pour suivre l'état des touches
@@ -33,7 +29,6 @@ VALID_STATES = [
]
def validate_menu_state(state):
valid_states = ["platform", "game", "download_progress", "download_result", "confirm_exit", "extension_warning", "pause_menu", "controls_help", "controls_mapping", "redownload_game_cache", "restart_popup", "confirm_clear_history", "language_select"]
if state not in VALID_STATES:
logger.debug(f"État invalide {state}, retour à platform")
return "platform"

View File

@@ -1251,56 +1251,15 @@ def draw_pause_menu(screen, selected_option):
def draw_controls_help(screen, previous_state):
"""Affiche la liste des contrôles avec un style moderne."""
# Définir les noms d'actions traduits en dehors des f-strings pour éviter les problèmes de syntaxe
confirm_text = _("controls_action_confirm")
cancel_text = _("controls_action_cancel")
start_text = _("controls_action_start")
progress_text = _("controls_action_progress")
up_text = _("controls_action_up")
down_text = _("controls_action_down")
page_up_text = _("controls_action_page_up")
page_down_text = _("controls_action_page_down")
filter_text = _("controls_action_filter")
history_text = _("controls_action_history")
delete_text = _("controls_action_delete")
space_text = _("controls_action_space")
common_controls = {
"confirm": lambda action: f"{get_control_display('confirm', 'A')} : {action}",
"cancel": lambda action: f"{get_control_display('cancel', 'B')} : {action}",
"start": lambda: f"{get_control_display('start', 'Start')} : {start_text}",
"progress": lambda action: f"{get_control_display('progress', 'X')} : {action}",
"up": lambda action: f"{get_control_display('up', '')} : {action}",
"down": lambda action: f"{get_control_display('down', '')} : {action}",
"left": lambda action: f"{get_control_display('left', '')} : {action}",
"right": lambda action: f"{get_control_display('right', '')} : {action}",
"page_up": lambda action: f"{get_control_display('page_up', 'LB')} : {action}",
"page_down": lambda action: f"{get_control_display('page_down', 'RB')} : {action}",
"filter": lambda action: f"{get_control_display('filter', 'Select')} : {action}",
"history": lambda action: f"{get_control_display('history', 'Y')} : {action}",
"delete": lambda: f"{get_control_display('delete', 'Suppr')} : {delete_text}",
"space": lambda: f"{get_control_display('space', 'Espace')} : {space_text}"
}
# Utiliser des variables pour les traductions d'actions
action_translations = {
"retry": _("action_retry"),
"quit": _("action_quit"),
"select": _("action_select"),
"history": _("action_history"),
"progress": _("action_progress"),
"download": _("action_download"),
"filter": _("action_filter"),
"cancel": _("action_cancel"),
"back": _("action_back"),
"navigate": _("action_navigate"),
"page": _("action_page"),
"cancel_download": _("action_cancel_download"),
"background": _("action_background"),
"confirm": _("action_confirm"),
"redownload": _("action_redownload"),
"clear_history": _("action_clear_history")
}
# Catégories de contrôles
nav_text = _("controls_navigation")
pages_text = _("controls_pages")

View File

@@ -8,7 +8,7 @@ import zipfile
import asyncio
import config
from config import OTA_VERSION_ENDPOINT,APP_FOLDER, UPDATE_FOLDER, OTA_UPDATE_ZIP
from utils import sanitize_filename, extract_zip, extract_rar, load_api_key_1fichier
from utils import sanitize_filename, extract_zip, extract_rar, load_api_key_1fichier, normalize_platform_name
from history import save_history
import logging
import datetime
@@ -179,11 +179,11 @@ async def download_rom(url, platform, game_name, is_zip_non_supported=False, tas
dest_dir = None
for platform_dict in config.platform_dicts:
if platform_dict["platform"] == platform:
dest_dir = os.path.join(config.ROMS_FOLDER, platform_dict.get("folder", platform.lower().replace(" ", "")))
dest_dir = os.path.join(config.ROMS_FOLDER, platform_dict.get("folder", normalize_platform_name(platform)))
logger.debug(f"Répertoire de destination trouvé pour {platform}: {dest_dir}")
break
if not dest_dir:
dest_dir = os.path.join(os.path.dirname(os.path.dirname(config.APP_FOLDER)), platform.lower().replace(" ", ""))
dest_dir = os.path.join(os.path.dirname(os.path.dirname(config.APP_FOLDER)), normalize_platform_name(platform))
os.makedirs(dest_dir, exist_ok=True)
if not os.access(dest_dir, os.W_OK):
@@ -380,7 +380,7 @@ async def download_from_1fichier(url, platform, game_name, is_zip_non_supported=
dest_dir = None
for platform_dict in config.platform_dicts:
if platform_dict["platform"] == platform:
dest_dir = os.path.join(config.ROMS_FOLDER, platform_dict.get("folder", platform.lower().replace(" ", "")))
dest_dir = os.path.join(config.ROMS_FOLDER, platform_dict.get("folder", normalize_platform_name(platform)))
break
if not dest_dir:
logger.warning(f"Aucun dossier 'folder' trouvé pour la plateforme {platform}")

View File

@@ -11,7 +11,6 @@ import threading
import zipfile
import time
import random
import random
from config import JSON_EXTENSIONS, SAVE_FOLDER
def load_accessibility_settings():
@@ -39,8 +38,6 @@ from history import save_history
from language import _ # Import de la fonction de traduction
from datetime import datetime
from datetime import datetime
logger = logging.getLogger(__name__)
# Désactiver les logs DEBUG de urllib3 e requests pour supprimer les messages de connexion HTTP
@@ -642,12 +639,12 @@ def handle_ps3(dest_dir):
for f in files:
try:
os.chmod(os.path.join(root, f), 0o644)
except:
except (OSError, PermissionError):
pass
for d in dirs:
try:
os.chmod(os.path.join(root, d), 0o755)
except:
except (OSError, PermissionError):
pass
if os.path.exists(new_path):
@@ -873,3 +870,7 @@ def save_music_config():
except Exception as e:
logger.error(f"Erreur lors de la sauvegarde de music_config.json: {str(e)}")
def normalize_platform_name(platform):
"""Normalise un nom de plateforme en supprimant espaces et convertissant en minuscules."""
return platform.lower().replace(" ", "")