22import os
33from fastapi import APIRouter , Body
44from dotenv import load_dotenv
5- from src .preferences import Preferences
65import logging
7- from fastapi import FastAPI
6+ from src . preferences import Preferences
87
98load_dotenv ()
109
1110GOOGLE_MAPS_API_KEY = os .getenv ("GOOGLE_MAPS_API_KEY" )
1211
1312router = APIRouter ()
14- app = FastAPI ()
1513logger = logging .getLogger ("test_logger" )
1614preferences = Preferences (api = app , logger = logger )
1715
1816
17+
1918@router .post ("/wayfinding/get_routes" )
2019def get_routes (
2120 origin : str = Body (...),
@@ -36,48 +35,50 @@ def get_routes(
3635 return response .json ()
3736
3837
39- @router .post ("/wayfinding/preferences/get_routes" )
40- def get_routes_with_preferences (
41- origin : str = Body (...),
42- destination : str = Body (...),
43- mode : str = Body (...),
44- alternatives : bool = Body (...),
45- username : str = Body (...),
46- ):
38+ def wayfinding_router_setup (preferences_logic : Preferences , logger ):
39+ router = APIRouter ()
4740
48- print (username )
49- preferencesList = preferences .db_get_preferences (username )
50- print (preferencesList )
51- if not preferencesList :
52- logger .error (
53- f"No preferences found for user { username } . Using default route."
54- )
55- return get_routes (
56- origin = origin ,
57- destination = destination ,
58- mode = mode ,
59- alternatives = alternatives ,
60- )
41+ @router .post ("/preferences/get_routes" )
42+ def get_routes_with_preferences (
43+ origin : str = Body (...),
44+ destination : str = Body (...),
45+ mode : str = Body (...),
46+ alternatives : bool = Body (...),
47+ username : str = Body (...),
48+ ):
6149
62- if preferencesList ["tolls" ] and preferencesList ["motorways" ]:
63- toAvoid = "tolls|highways"
64- elif preferencesList ["tolls" ]:
65- toAvoid = "tolls"
66- elif preferencesList ["motorways" ]:
67- toAvoid = "motorways"
68- else :
69- toAvoid = ""
50+ print (username )
51+ preferencesList = preferences_logic .db_get_preferences (username )
52+ print (preferencesList )
53+ if not preferencesList :
54+ logger .error (f"No preferences { username } . Using default route." )
55+ return get_routes (
56+ origin = origin ,
57+ destination = destination ,
58+ mode = mode ,
59+ alternatives = alternatives ,
60+ )
7061
71- url = "https://maps.googleapis.com/maps/api/directions/json"
72- parameters = {
73- "origin" : origin ,
74- "destination" : destination ,
75- "mode" : mode .lower (),
76- "alternatives" : str (alternatives ).lower (),
77- "key" : GOOGLE_MAPS_API_KEY ,
78- "username" : username ,
79- "avoid" : toAvoid ,
80- }
62+ if preferencesList ["tolls" ] and preferencesList ["motorways" ]:
63+ toAvoid = "tolls|highways"
64+ elif preferencesList ["tolls" ]:
65+ toAvoid = "tolls"
66+ elif preferencesList ["motorways" ]:
67+ toAvoid = "motorways"
68+ else :
69+ toAvoid = ""
8170
82- response = requests .get (url , params = parameters )
83- return response .json ()
71+ url = "https://maps.googleapis.com/maps/api/directions/json"
72+ parameters = {
73+ "origin" : origin ,
74+ "destination" : destination ,
75+ "mode" : mode .lower (),
76+ "alternatives" : str (alternatives ).lower (),
77+ "key" : GOOGLE_MAPS_API_KEY ,
78+ "username" : username ,
79+ "avoid" : toAvoid
80+ }
81+
82+ response = requests .get (url , params = parameters )
83+ return response .json ()
84+ return router
0 commit comments