# FFXIV Backup Restore UI A Windows-native PyQt6 GUI for the FFXIV backup restore script. ## Features - **Settings Tab**: Configure Nextcloud credentials and local paths - **Restore Tab**: Select backup and monitor restore progress in real-time - **Single Executable**: Packaged with PyInstaller for easy distribution - **Threading**: Non-blocking UI during restore operations - **Status Output**: Real-time console output display ## Requirements - Python 3.8+ - Windows (tested on Windows 11) - 7z command-line tool (for extraction) ## Installation ### 1. Install Python Dependencies ```bash pip install -r requirements.txt ``` ### 2. Verify 7z is installed The script requires 7z for extraction. Install it or ensure it's in your PATH. ## Usage ### Development (Running from source) ```bash python restore_ui.py ``` ### Building Executable Run the build script: ```bash build.bat ``` Or manually with PyInstaller: ```bash pyinstaller restore_ui.spec ``` The executable will be created in the `dist\` directory. ## Configuration Configuration is loaded from `.env` file in the same directory as the script. The file contains: - **NC_URL**: Nextcloud server URL - **NC_USER**: Nextcloud username - **NC_PASS**: Nextcloud password - **NC_TEMP_DOWNLOAD**: Path to store downloaded .7z file - **TEMP_EXTRACT_PATH**: Path to extract backup contents - **TEMP_BACKUP_PATH**: Directory to store local backups - **PLUGIN_CONFIGS_PATH**: XIVLauncher plugin config directory - **FFXIV_CONFIGS_PATH**: FFXIV game config directory ## Usage Steps 1. **Configure Settings** (if needed): - Open "Settings" tab - Verify Nextcloud credentials and paths - Click outside tab to save (settings are read from .env on startup) 2. **Restore Backup**: - Open "Restore" tab - Enter remote archive path (e.g., `Backups/FFXIV/Desktop/backup_file.7z`) - Click "Start Restore" - Monitor progress in output window 3. **View Results**: - Success/error message appears upon completion - Output can be cleared with "Clear Output" button ## Troubleshooting ### Missing Dependencies If you get import errors, run: `pip install -r requirements.txt` ### 7z not found Ensure 7z is installed and in your system PATH ### Nextcloud Connection Failed - Verify NC_URL is correct (including https://) - Check username and password are correct - Ensure network connection to Nextcloud server ### PyInstaller Build Issues If the .spec file fails: - Delete `build/` and `dist/` directories - Rebuild: `pyinstaller restore_ui.spec` ## Distributing the Executable Once built, the executable (`dist\FFXIV-Backup-Restore.exe`) can be: - Copied to any Windows system with .NET Framework (included in Windows) - Distributed as a single file - No Python installation required on target system - Requires `.env` file in same directory as executable ## Notes - The UI runs the original `restore_backup.py` script in a background thread - All output is captured and displayed in the UI - Settings tab is for informational purposes (values are read from `.env` at startup) - To update settings, edit `.env` file directly and restart the application