11import streamlit as st
22from couchbase_streamlit_connector .connector import CouchbaseConnector
3+ from couchbase .options import QueryOptions
34import pandas as pd
45import plotly .graph_objects as go
56import plotly .express as px
@@ -25,9 +26,9 @@ def get_routes_for_airports(_connection, selected_airports_df):
2526 airports_faa = str (selected_airports_df ["faa" ].to_list ()) # Initialize a string to store FAA codes in a list format
2627 query = f"""
2728 SELECT * FROM `travel-sample`.`inventory`.`route`
28- WHERE (sourceairport IN { airports_faa } AND destinationairport IN { airports_faa } );
29+ WHERE (sourceairport IN $ airports_faa AND destinationairport IN $ airports_faa);
2930 """
30- result = _connection .query (query )
31+ result = _connection .query (query , opts = QueryOptions ( named_parameters = { "airports_faa" : airports_faa }) )
3132 data = []
3233 for row in result :
3334 data .append (row ["route" ])
@@ -283,16 +284,15 @@ def get_all_cities(_connection):
283284
284285@st .cache_data
285286def get_all_hotels (_connection , cities ):
286- cities_str = f"{ cities } "
287287 query = f"""
288288 SELECT h.*, geo.lat as lat, geo.lon as lon, ARRAY_AVG(ARRAY r.ratings.Overall FOR r IN h.reviews WHEN r.ratings.Overall IS NOT MISSING END) as avg_rating
289289 FROM `travel-sample`.inventory.hotel h
290290 WHERE h.geo.lat IS NOT MISSING
291291 AND h.type = "hotel"
292292 AND h.geo.lon IS NOT MISSING
293- AND h.city IN { cities_str }
293+ AND h.city IN $cities;
294294 """
295- result = _connection .query (query )
295+ result = _connection .query (query , QueryOptions ( named_parameters = { "cities" : cities }) )
296296 hotels = []
297297 for row in result :
298298 hotels .append (row )
0 commit comments