Files
Fallout-Shelter-Save-Editor/run_editor.py
2025-08-05 04:54:50 +00:00

73 lines
2.3 KiB
Python

#!/usr/bin/env python3
"""
Simple launcher for the Fallout Shelter Save Editor
"""
import sys
import subprocess
import os
def check_requirements():
"""Check if required packages are installed."""
required_packages = ['PyQt5', 'cryptography', 'pycryptodome']
missing_packages = []
for package in required_packages:
try:
__import__(package)
except ImportError:
missing_packages.append(package)
return missing_packages
def install_requirements():
"""Install missing requirements."""
print("Installing required packages...")
try:
subprocess.check_call([sys.executable, '-m', 'pip', 'install', '-r', 'requirements.txt'])
return True
except subprocess.CalledProcessError:
return False
def main():
"""Main launcher function."""
print("Fallout Shelter Save Editor Launcher")
print("=" * 40)
# Check for missing packages
missing = check_requirements()
if missing:
print(f"Missing required packages: {', '.join(missing)}")
if os.path.exists('requirements.txt'):
response = input("Would you like to install them now? (y/n): ").lower().strip()
if response == 'y':
if install_requirements():
print("Packages installed successfully!")
else:
print("Failed to install packages. Please install manually:")
print("pip install -r requirements.txt")
return
else:
print("Please install the required packages manually:")
print("pip install -r requirements.txt")
return
else:
print("requirements.txt not found. Please install manually:")
print("pip install PyQt5 cryptography pycryptodome")
return
# Launch the editor
print("Starting Fallout Shelter Save Editor...")
try:
from fallout_shelter_qt_editor import main as editor_main
editor_main()
except ImportError as e:
print(f"Error importing editor: {e}")
print("Make sure fallout_shelter_qt_editor.py is in the same directory.")
except Exception as e:
print(f"Error starting editor: {e}")
if __name__ == "__main__":
main()