up traffic

This commit is contained in:
Tykayn 2025-09-27 01:31:36 +02:00 committed by tykayn
parent 11cd3236c5
commit 3ec22cbe3b
4 changed files with 321 additions and 58 deletions

View file

@ -52,27 +52,47 @@ class DemoResource:
# Set content type to HTML
resp.content_type = 'text/html'
# Fetch the event data from the API
# Fetch the event data from the OEDB API
logger.info(f"Fetching event data from API for event ID: {id}")
response = requests.get(f'https://api.openeventdatabase.org/event/{id}')
if response.status_code != 200:
logger.error(f"API returned status {response.status_code} for event {id}")
resp.status = falcon.HTTP_404
resp.text = f"Event with ID {id} not found"
resp.text = f"Event with ID {id} not found on API"
return
event_data = response.json()
logger.info(f"Successfully retrieved event data for {id}: {type(event_data)}")
# Validate event data structure
if not isinstance(event_data, dict):
logger.error(f"Invalid event data type: {type(event_data)}")
resp.status = falcon.HTTP_500
resp.text = "Invalid event data format received from API"
return
if 'properties' not in event_data:
logger.error(f"Event data missing 'properties': {event_data}")
resp.status = falcon.HTTP_500
resp.text = "Invalid event data structure - missing properties"
return
# Render the template with the event data
template = self.jinja_env.get_template('edit.html')
html = template.render(
id=id,
event_data=event_data
event_data=event_data # Pass Python object directly, let Jinja2 handle JSON conversion
)
# Set the response body and status
resp.text = html
resp.status = falcon.HTTP_200
logger.success(f"Successfully processed GET request to /demo/edit for event ID: {id}")
except requests.RequestException as e:
logger.error(f"Error fetching event data from API: {e}")
resp.status = falcon.HTTP_500
resp.text = f"Error fetching event data: {str(e)}"
except Exception as e:
logger.error(f"Error processing GET request to /demo/edit: {e}")
resp.status = falcon.HTTP_500