From 88a6f61bd0277f4617691b547123924d7cb0ef45 Mon Sep 17 00:00:00 2001 From: Andrew Date: Sun, 2 Mar 2025 21:05:54 +0000 Subject: [PATCH] [server]: Add return_luas_data --- .../return_luas_data/lambda_function.py | 21 +++++++++++++++++++ .../test/return_luas_data/return_luas_data.sh | 9 ++++++++ 2 files changed, 30 insertions(+) create mode 100644 server/src/functions/return_luas_data/lambda_function.py create mode 100755 server/src/test/return_luas_data/return_luas_data.sh diff --git a/server/src/functions/return_luas_data/lambda_function.py b/server/src/functions/return_luas_data/lambda_function.py new file mode 100644 index 0000000..6638632 --- /dev/null +++ b/server/src/functions/return_luas_data/lambda_function.py @@ -0,0 +1,21 @@ +import xmltodict +import json +import os +import requests + +def lambda_handler(event, context): + try: + luas_stop_code = event['queryStringParameters']['luasStopCode'] + response = requests.get(f"http://luasforecasts.rpa.ie/xml/get.ashx?action=forecast&stop={luas_stop_code}&encrypt=false") + xml_dict = xmltodict.parse(response.text) + + return { + 'statusCode': 200, + 'body': json.dumps(xml_dict) + } + + except Exception as e: + return { + 'statusCode': 500, + 'body': json.dumps({'error': str(e)}) + } diff --git a/server/src/test/return_luas_data/return_luas_data.sh b/server/src/test/return_luas_data/return_luas_data.sh new file mode 100755 index 0000000..755d8ae --- /dev/null +++ b/server/src/test/return_luas_data/return_luas_data.sh @@ -0,0 +1,9 @@ +#!/bin/sh + +API_URL="https://3fzg2hdskc.execute-api.us-east-1.amazonaws.com/return_luas_data" + +if [ "$1" ]; then + query_string="?luasStopCode=$1" +fi + +curl "$API_URL$query_string"