add panoramax token

This commit is contained in:
Tykayn 2025-09-22 11:44:25 +02:00 committed by tykayn
parent f66e5e3f7b
commit 1a3df2ed75
12 changed files with 1132 additions and 61 deletions

View file

@ -12,7 +12,7 @@ import falcon
# Import utility modules
from oedb.utils.logging import logger
from oedb.utils.db import check_db_connection
from oedb.utils.db import check_db_connection, load_env_from_file
# Import middleware
from oedb.middleware.headers import HeaderMiddleware
@ -24,7 +24,7 @@ from oedb.resources.event import event
from oedb.resources.stats import StatsResource
from oedb.resources.search import EventSearch
from oedb.resources.root import root
from oedb.resources.demo import demo
from oedb.resources.demo import demo, demo_stats
from oedb.resources.event_form import event_form
def create_app():
@ -34,6 +34,9 @@ def create_app():
Returns:
falcon.App: The configured Falcon application.
"""
# Load environment variables from .env (if present)
load_env_from_file()
# Create the Falcon application with middleware
logger.info("Initializing Falcon application")
app = falcon.App(middleware=[
@ -47,6 +50,21 @@ def create_app():
static_dir = os.path.abspath(os.path.join(os.path.dirname(__file__), 'oedb', 'resources', 'demo', 'static'))
app.add_static_route('/static/', static_dir)
# Check environment variables
required_env = [
'DB_NAME', 'DB_HOST', 'DB_USER', 'POSTGRES_PASSWORD',
'CLIENT_ID', 'CLIENT_SECRET', 'CLIENT_REDIRECT', 'CLIENT_AUTHORIZATIONS'
]
optional_env = [
'PANORAMAX_UPLOAD_URL', 'PANORAMAX_TOKEN'
]
missing_required = [k for k in required_env if not os.getenv(k)]
missing_optional = [k for k in optional_env if not os.getenv(k)]
if missing_required:
logger.warning(f"Missing required environment variables: {', '.join(missing_required)}")
if missing_optional:
logger.info(f"Optional environment variables not set: {', '.join(missing_optional)}")
# Check database connection before continuing
if not check_db_connection():
logger.error("Cannot start server - PostgreSQL database is not responding")
@ -70,6 +88,7 @@ def create_app():
app.add_route('/demo/edit/{id}', demo, suffix='edit') # Handle event editing page
app.add_route('/demo/traffic', demo, suffix='traffic') # Handle traffic jam reporting page
app.add_route('/demo/view-events', demo, suffix='view_events') # Handle view saved events page
app.add_route('/demo/stats', demo_stats) # Handle stats by what page
logger.success("Application initialized successfully")
return app