#!/usr/bin/env python3 """ Web Adventure - Quick Verification Script Checks that all components are properly set up """ import sys import os from pathlib import Path def check_file_exists(path, description): if path.exists(): size = path.stat().st_size print(f"āœ… {description}: {path.name} ({size:,} bytes)") return True else: print(f"āŒ {description}: {path.name} NOT FOUND") return False def check_imports(): """Check that all required Python packages are installed""" packages = { 'fastapi': 'FastAPI', 'uvicorn': 'Uvicorn', 'websockets': 'WebSockets', 'pydantic': 'Pydantic', } all_ok = True for module_name, display_name in packages.items(): try: __import__(module_name) print(f"āœ… {display_name} installed") except ImportError: print(f"āŒ {display_name} NOT installed") all_ok = False return all_ok def verify_python_syntax(filepath): """Verify Python file has valid syntax""" try: with open(filepath, 'r') as f: compile(f.read(), filepath, 'exec') return True except SyntaxError as e: print(f" Syntax error: {e}") return False def main(): print("\n" + "="*60) print("šŸ” WEB ADVENTURE - Verification Script") print("="*60 + "\n") script_dir = Path(__file__).parent.resolve() os.chdir(script_dir) all_checks = [] # Check files print("šŸ“ Checking files...") all_checks.append(check_file_exists(script_dir / "backend.py", "Backend")) all_checks.append(check_file_exists(script_dir / "index.html", "Frontend")) all_checks.append(check_file_exists(script_dir / "requirements.txt", "Dependencies")) all_checks.append(check_file_exists(script_dir / "launcher.py", "Launcher")) all_checks.append(check_file_exists(script_dir / "README.md", "Readme")) all_checks.append(check_file_exists(script_dir / "SETUP.md", "Setup Guide")) all_checks.append(check_file_exists(script_dir / "PROJECT_SUMMARY.md", "Project Summary")) print("\nšŸ“¦ Checking Python packages...") all_checks.append(check_imports()) print("\nšŸ Checking Python syntax...") for pyfile in [script_dir / "backend.py", script_dir / "launcher.py"]: print(f" Checking {pyfile.name}...", end=" ") if verify_python_syntax(pyfile): print("āœ…") all_checks.append(True) else: print("āŒ") all_checks.append(False) print("\n" + "="*60) if all(all_checks): print("āœ… All checks passed! Ready to play!") print("\nTo start the game, run:") print(" python launcher.py") print("\n" + "="*60 + "\n") return 0 else: print("āŒ Some checks failed. Please review above.") print("\n" + "="*60 + "\n") return 1 if __name__ == "__main__": sys.exit(main())