commited with removed gtk wrapper. Simple python run file with all requirements.
This commit is contained in:
Executable
+111
@@ -0,0 +1,111 @@
|
||||
#!/usr/bin/env python3
|
||||
"""
|
||||
TV_APP V1.0.0 - One-Click Launcher
|
||||
Automatically installs dependencies and starts the web application
|
||||
"""
|
||||
|
||||
import os
|
||||
import sys
|
||||
import subprocess
|
||||
import webbrowser
|
||||
import time
|
||||
import importlib.util
|
||||
|
||||
def check_python_version():
|
||||
"""Check if Python 3.7+ is available"""
|
||||
if sys.version_info < (3, 7):
|
||||
print("ERROR: Python 3.7+ is required")
|
||||
print(f"You have Python {sys.version}")
|
||||
return False
|
||||
return True
|
||||
|
||||
def check_and_install_flask():
|
||||
"""Check if Flask is installed, install if not"""
|
||||
flask_spec = importlib.util.find_spec("flask")
|
||||
|
||||
if flask_spec is not None:
|
||||
import flask
|
||||
print(f"✓ Flask is installed: v{flask.__version__}")
|
||||
return True
|
||||
|
||||
print("⚠ Flask not found. Installing...")
|
||||
try:
|
||||
subprocess.check_call([sys.executable, "-m", "pip", "install", "flask", "-q"])
|
||||
print("✓ Flask installed successfully")
|
||||
return True
|
||||
except subprocess.CalledProcessError:
|
||||
print("ERROR: Failed to install Flask")
|
||||
return False
|
||||
|
||||
def main():
|
||||
"""Main installation and startup routine"""
|
||||
print("\n" + "="*70)
|
||||
print(" TV_APP V1.0.0 - Installation & Launcher")
|
||||
print("="*70 + "\n")
|
||||
|
||||
# Check Python version
|
||||
print("[1/4] Checking Python version...")
|
||||
if not check_python_version():
|
||||
print("\nPlease install Python 3.7 or higher")
|
||||
input("Press Enter to exit...")
|
||||
return False
|
||||
|
||||
import flask
|
||||
print(f"✓ Python {sys.version.split()[0]} found\n")
|
||||
|
||||
# Check Flask
|
||||
print("[2/4] Checking Flask installation...")
|
||||
if not check_and_install_flask():
|
||||
input("Press Enter to exit...")
|
||||
return False
|
||||
print()
|
||||
|
||||
# Verify app.py exists
|
||||
print("[3/4] Verifying application files...")
|
||||
app_path = os.path.join(os.path.dirname(__file__), "app.py")
|
||||
if not os.path.exists(app_path):
|
||||
print(f"ERROR: app.py not found at {app_path}")
|
||||
input("Press Enter to exit...")
|
||||
return False
|
||||
print("✓ Application found: app.py\n")
|
||||
|
||||
# Start the app
|
||||
print("[4/4] Starting web application...\n")
|
||||
print("="*70)
|
||||
print(" TV_APP is starting...")
|
||||
print("="*70)
|
||||
print("\nThe application will be available at: http://localhost:5000")
|
||||
print("Press Ctrl+C to stop the server\n")
|
||||
|
||||
time.sleep(2)
|
||||
|
||||
# Open browser
|
||||
try:
|
||||
webbrowser.open("http://localhost:5000", new=1)
|
||||
except:
|
||||
pass
|
||||
|
||||
# Change to app directory and run
|
||||
os.chdir(os.path.dirname(__file__))
|
||||
|
||||
try:
|
||||
# Import and run the Flask app
|
||||
import app
|
||||
app.app.run(host='0.0.0.0', port=5000, debug=True, use_reloader=False)
|
||||
except ImportError as e:
|
||||
print(f"ERROR: Could not import app.py: {e}")
|
||||
input("Press Enter to exit...")
|
||||
return False
|
||||
except KeyboardInterrupt:
|
||||
print("\n\nServer stopped by user")
|
||||
return True
|
||||
except Exception as e:
|
||||
print(f"ERROR: {e}")
|
||||
input("Press Enter to exit...")
|
||||
return False
|
||||
|
||||
return True
|
||||
|
||||
if __name__ == "__main__":
|
||||
success = main()
|
||||
sys.exit(0 if success else 1)
|
||||
Reference in New Issue
Block a user