main
PocketSync
Herramienta de escritorio para sincronizar archivos de emulación retro (ES-DE y ROMs) hacia almacenamiento externo. Soporta múltiples perfiles (uno por consola o dispositivo).
Requisitos
- Windows 10 / 11
robocopy(incluido en Windows por defecto)- Para ejecutar desde código fuente: Python 3.6+
Uso rápido (ejecutable)
Descarga PocketSync.exe y ejecútalo directamente. No requiere Python instalado.
Uso desde código fuente
python pocketsync.py
Configurar y usar la app
- Selecciona o crea un perfil en el desplegable superior (New / Rename / Delete).
- Configura las 4 rutas:
- ES-DE origen → carpeta local de ES-DE
- ES-DE destino → carpeta en el almacenamiento externo
- ROMs origen → carpeta local de ROMs
- ROMs destino → carpeta en el almacenamiento externo
- Selecciona los sistemas a sincronizar (Select All / None para selección rápida).
- Pulsa Sync Now.
La configuración se guarda automáticamente en config.json al cerrar.
Generar el ejecutable
1. Crear el entorno virtual e instalar dependencias
py -m venv .venv
.venv\Scripts\activate
pip install -r requirements.txt
2. Añadir icono (opcional)
Coloca un archivo pocketsync.ico en la carpeta assets\. Sin él, el ejecutable usará el icono genérico de Windows.
3. Empaquetar
.venv\Scripts\activate
pyinstaller pocketsync.spec
El resultado queda en dist\PocketSync.exe.
Estructura del proyecto
pocketsync.py # Entry point
pocketsync.spec # Configuración de PyInstaller
requirements.txt # Solo pyinstaller>=6.0
config.json # Perfiles guardados (se crea al primer uso)
assets/
pocketsync.ico # Icono del .exe (añadir manualmente)
core/
config.py # Gestión de perfiles y persistencia
sync_engine.py # Interfaz abstracta de sincronización
robocopy_engine.py # Implementación con Robocopy
ui/
app.py # Ventana principal y lógica de sync
profile_bar.py # Selector de perfiles
path_panel.py # Selectores de ruta
system_list.py # Lista de sistemas
status_bar.py # Barra de estado
summary_panel.py # Resumen de la última sincronización
styles.py # Colores y fuentes
Notas
- La sincronización usa
robocopy /MIR, que replica exactamente el origen en el destino (borra archivos en destino que no estén en origen). - Cada perfil guarda sus 4 rutas y la selección de sistemas de forma independiente.
- El proceso de sync corre en un hilo separado para no bloquear la interfaz.
Description
Aplicació d’escriptori en Python/Tkinter per sincronitzar fitxers d’emulació retro (ES-DE i ROMs) cap a un emmagatzematge extern utilitzant Robocopy. Admet múltiples perfils amb nom (un per consola/dispositiu).
Languages
Python
100%