From a1a1180a8959106b066d943d9e04a0fea7aa831e Mon Sep 17 00:00:00 2001 From: Steve Androulakis Date: Fri, 14 Feb 2025 11:45:23 -0800 Subject: [PATCH] readme --- README.md | 15 +++++++++ tools/search_trains.py | 71 ------------------------------------------ 2 files changed, 15 insertions(+), 71 deletions(-) diff --git a/README.md b/README.md index e058552..f368f6c 100644 --- a/README.md +++ b/README.md @@ -115,6 +115,21 @@ poetry run uvicorn api.main:app --reload ``` Access the API at `/docs` to see the available endpoints. +### Python Search Trains API +Required to search and book trains! +```bash +poetry run python thirdparty/train_api.py +``` + +### .NET (enterprise) Backend ;) +We have activities written in C# to call the train APIs. +```bash +cd enterprise +dotnet build # ensure you brew install dotnet@8 first! +dotnet run +``` +If you're running your train API above on a different host/port then change the API URL in `Program.cs`. + ### React UI Start the frontend: ```bash diff --git a/tools/search_trains.py b/tools/search_trains.py index b345dba..56e4241 100644 --- a/tools/search_trains.py +++ b/tools/search_trains.py @@ -1,77 +1,6 @@ -import requests -import os -from dotenv import load_dotenv - - def search_trains(args: dict) -> dict: raise NotImplementedError("TODO implement :)") def book_trains(args: dict) -> dict: raise NotImplementedError("TODO implement :)") - - -# todo clean this up -# BASE_URL = "http://localhost:8080/" - -# def book_trains(args: dict) -> dict: -# load_dotenv(override=True) - -# train_ids = args.get("train_ids") - -# if not train_ids: -# return {"error": "Train IDs is required."} - -# book_url = f"{BASE_URL}/api/book/{train_ids}" -# response = requests.post(book_url) -# if response.status_code != 200: -# return {"error": "Failed to book ticket."} - -# booking_data = response.json() -# return booking_data - - -# Example usage -if __name__ == "__main__": - search_args = { - "origin": "London Gatwick", - "destination": "Manchester", - "outbound_time": "2025-03-15T14:00", - "return_time": "2025-03-20T14:00", - } - search_results = search_trains(search_args) - print(search_results) - - book_args = { - "train_ids": "12345", - } - booking_results = book_trains(book_args) - print(booking_results) - - -# def search_trains(args: dict) -> dict: -# load_dotenv(override=True) - -# origin = args.get("origin") -# destination = args.get("destination") -# outbound_time = args.get("outbound_time") -# return_time = args.get("return_time") - -# if not origin or not destination or not outbound_time or not return_time: -# return {"error": "Origin, destination, outbound_time and return_time are required."} - -# search_url = f'{BASE_URL}/api/search' -# params = { -# 'from': origin, -# 'to': destination, -# 'outbound_time': outbound_time, -# 'return_time': return_time, -# } - -# response = requests.get(search_url, params=params) -# if response.status_code != 200: -# print(response.content) -# return {"error": "Failed to fetch journey data."} - -# journey_data = response.json() -# return journey_data