Spaces:
Runtime error
Runtime error
| import os | |
| import sys | |
| # DON'T CHANGE THIS !!! | |
| sys.path.insert(0, os.path.dirname(os.path.dirname(__file__))) | |
| from flask import Flask, send_from_directory | |
| from flask_cors import CORS | |
| from src.models.user import db | |
| from src.routes.user import user_bp | |
| from src.routes.ai_chat import ai_chat_bp | |
| app = Flask(__name__, static_folder=os.path.join(os.path.dirname(__file__), 'static')) | |
| app.config['SECRET_KEY'] = os.environ.get('SECRET_KEY', 'asdf#FGSgvasgf$5$WGT') | |
| # Enable CORS for all routes | |
| CORS(app) | |
| app.register_blueprint(user_bp, url_prefix='/api') | |
| app.register_blueprint(ai_chat_bp, url_prefix='/api') | |
| # Database configuration | |
| database_path = os.path.join(os.path.dirname(__file__), 'database', 'app.db') | |
| app.config['SQLALCHEMY_DATABASE_URI'] = f"sqlite:///{database_path}" | |
| app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False | |
| # Ensure database directory exists | |
| os.makedirs(os.path.dirname(database_path), exist_ok=True) | |
| db.init_app(app) | |
| with app.app_context(): | |
| db.create_all() | |
| # Health check endpoint | |
| def health_check(): | |
| return {'status': 'healthy', 'message': 'Server is running'}, 200 | |
| # GPU status endpoint (if needed for health check) | |
| def gpu_status(): | |
| return {'status': 'ok', 'message': 'GPU status endpoint'}, 200 | |
| def serve(path): | |
| static_folder_path = app.static_folder | |
| if static_folder_path is None: | |
| return "Static folder not configured", 404 | |
| if path != "" and os.path.exists(os.path.join(static_folder_path, path)): | |
| return send_from_directory(static_folder_path, path) | |
| else: | |
| index_path = os.path.join(static_folder_path, 'index.html') | |
| if os.path.exists(index_path): | |
| return send_from_directory(static_folder_path, 'index.html') | |
| else: | |
| return "index.html not found", 404 | |
| if __name__ == '__main__': | |
| # Get port from environment variable, default to 5000 | |
| port = int(os.environ.get('PORT', 5000)) | |
| debug = os.environ.get('FLASK_ENV') == 'development' | |
| app.run(host='0.0.0.0', port=port, debug=debug) |