diff --git a/demo/app.py b/demo/app.py index e41abde..eedb3da 100644 --- a/demo/app.py +++ b/demo/app.py @@ -1,17 +1,37 @@ -""" -GKACHELE™ SaaS PageBuilder - Sistema Modular -© 2025 GKACHELE™. Todos los derechos reservados. +""" +GKACHELE SaaS PageBuilder - Sistema Modular """ import os -from flask import Flask, jsonify, request -from config import SECRET_KEY, PORT -from database import init_db -from routes.auth import auth_bp -from routes.dashboard import dashboard_bp -from routes.customizer import customizer_bp -from routes.admin import admin_bp -from routes.public import public_bp +import sys +from flask import Flask, jsonify + +BASE_DIR = os.path.dirname(os.path.abspath(__file__)) +PROJECT_ROOT = os.path.dirname(BASE_DIR) +if PROJECT_ROOT not in sys.path: + sys.path.insert(0, PROJECT_ROOT) + +try: + from .config import SECRET_KEY, PORT + from .database import init_db + from .routes.auth import auth_bp + from .routes.dashboard import dashboard_bp + from .routes.customizer import customizer_bp + from .routes.admin import admin_bp + from .routes.public import public_bp +except ImportError: + from config import SECRET_KEY, PORT + from database import init_db + from routes.auth import auth_bp + from routes.dashboard import dashboard_bp + from routes.customizer import customizer_bp + from routes.admin import admin_bp + from routes.public import public_bp + +try: + from elementor.routes import elementor_bp +except ImportError: + elementor_bp = None app = Flask(__name__, template_folder='templates', static_folder='static') app.secret_key = SECRET_KEY @@ -26,6 +46,8 @@ app.register_blueprint(dashboard_bp) app.register_blueprint(customizer_bp) app.register_blueprint(admin_bp) app.register_blueprint(public_bp) +if elementor_bp is not None and 'elementor' not in app.blueprints: + app.register_blueprint(elementor_bp) # Manejadores de Errores Globales @app.errorhandler(500) @@ -34,15 +56,18 @@ def handle_500(e): response.status_code = 500 return response + @app.errorhandler(404) def handle_404(e): return jsonify({'success': False, 'error': 'No encontrado'}), 404 + @app.errorhandler(Exception) def handle_exception(e): print(f"ERROR: EXCEPCION: {e}") return jsonify({'success': False, 'error': str(e)}), 500 + # Middleware @app.after_request def add_header(response): @@ -50,6 +75,7 @@ def add_header(response): response.headers['Content-Security-Policy'] = "frame-ancestors *;" return response + if __name__ == '__main__': print(f"GKACHELE SaaS Modular iniciado en puerto {PORT}") app.run(debug=True, host='0.0.0.0', port=PORT)