Spaces:
Paused
Paused
Update app.py
Browse files
app.py
CHANGED
|
@@ -968,19 +968,13 @@ def fetch_yelp_restaurants():
|
|
| 968 |
from serpapi.google_search import GoogleSearch
|
| 969 |
from datetime import datetime, timedelta
|
| 970 |
|
| 971 |
-
def
|
| 972 |
-
current_date = datetime.now().strftime("%Y-%m-%d")
|
| 973 |
-
|
| 974 |
-
# Define the parameters for the Google Hotels API request
|
| 975 |
params = {
|
| 976 |
"engine": "google_hotels",
|
| 977 |
-
"q": "Birmingham,AL",
|
| 978 |
"check_in_date": "2024-08-14",
|
| 979 |
"check_out_date": "2024-08-15",
|
| 980 |
-
"
|
| 981 |
-
# "amenities": (2,4,10,15,16,20,21,24,29,32),
|
| 982 |
-
"rating": (7,8,9),
|
| 983 |
-
"hotel_class": (2,3,4,5),
|
| 984 |
"currency": "USD",
|
| 985 |
"gl": "us",
|
| 986 |
"hl": "en",
|
|
@@ -991,12 +985,14 @@ def fetch_hotels_birmingham():
|
|
| 991 |
search = GoogleSearch(params)
|
| 992 |
results = search.get_dict()
|
| 993 |
|
| 994 |
-
# Debugging: Print the results to ensure the API call is working
|
| 995 |
-
print("API Response:", results)
|
| 996 |
-
|
| 997 |
# Extract the hotel results from the response
|
| 998 |
hotels = results.get("hotels_results", [])
|
| 999 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1000 |
def star_rating(rating):
|
| 1001 |
# Convert the rating to a star format with half-stars if necessary
|
| 1002 |
full_stars = int(float(rating))
|
|
@@ -1007,26 +1003,24 @@ def fetch_hotels_birmingham():
|
|
| 1007 |
|
| 1008 |
response_text = ""
|
| 1009 |
|
| 1010 |
-
# Iterate through the top 5
|
| 1011 |
-
for hotel in hotels[:5]:
|
| 1012 |
name = hotel.get("title", "No name")
|
| 1013 |
rating = hotel.get("rating", "No rating")
|
| 1014 |
reviews = hotel.get("reviews", "No reviews")
|
| 1015 |
-
location = f"{name},
|
| 1016 |
price = hotel.get("price", "Price not available")
|
| 1017 |
link = hotel.get("link", "#")
|
| 1018 |
-
|
| 1019 |
-
# amenities = hotel.get("amenities", "Amenities not available")
|
| 1020 |
|
| 1021 |
if isinstance(amenities, list):
|
| 1022 |
amenities = ", ".join(amenities)
|
| 1023 |
|
| 1024 |
-
# Format the output for each
|
| 1025 |
response_text += f"[{name}]({link})\n" # Name with clickable link
|
| 1026 |
-
response_text += f"*{location}*\n" # Location with
|
| 1027 |
response_text += f"**Price:** {price}\n"
|
| 1028 |
-
response_text += f"**
|
| 1029 |
-
# response_text += f"**Amenities:** {amenities}\n"
|
| 1030 |
response_text += f"**Rating:** {star_rating(rating)} ({rating} stars, {reviews} reviews)\n"
|
| 1031 |
response_text += "-" * 50 + "\n"
|
| 1032 |
|
|
|
|
| 968 |
from serpapi.google_search import GoogleSearch
|
| 969 |
from datetime import datetime, timedelta
|
| 970 |
|
| 971 |
+
def fetch_birmingham_resorts():
|
|
|
|
|
|
|
|
|
|
| 972 |
params = {
|
| 973 |
"engine": "google_hotels",
|
| 974 |
+
"q": "Birmingham Resorts,AL",
|
| 975 |
"check_in_date": "2024-08-14",
|
| 976 |
"check_out_date": "2024-08-15",
|
| 977 |
+
"adults": "2",
|
|
|
|
|
|
|
|
|
|
| 978 |
"currency": "USD",
|
| 979 |
"gl": "us",
|
| 980 |
"hl": "en",
|
|
|
|
| 985 |
search = GoogleSearch(params)
|
| 986 |
results = search.get_dict()
|
| 987 |
|
|
|
|
|
|
|
|
|
|
| 988 |
# Extract the hotel results from the response
|
| 989 |
hotels = results.get("hotels_results", [])
|
| 990 |
|
| 991 |
+
# Check if any hotels were found
|
| 992 |
+
if not hotels:
|
| 993 |
+
print("No resorts found in the response.")
|
| 994 |
+
return "No resort information available."
|
| 995 |
+
|
| 996 |
def star_rating(rating):
|
| 997 |
# Convert the rating to a star format with half-stars if necessary
|
| 998 |
full_stars = int(float(rating))
|
|
|
|
| 1003 |
|
| 1004 |
response_text = ""
|
| 1005 |
|
| 1006 |
+
# Iterate through the top 5 resorts and format the response
|
| 1007 |
+
for hotel in hotels[:5]: # Limiting to top 5 resorts
|
| 1008 |
name = hotel.get("title", "No name")
|
| 1009 |
rating = hotel.get("rating", "No rating")
|
| 1010 |
reviews = hotel.get("reviews", "No reviews")
|
| 1011 |
+
location = f"{name}, Bali"
|
| 1012 |
price = hotel.get("price", "Price not available")
|
| 1013 |
link = hotel.get("link", "#")
|
| 1014 |
+
amenities = hotel.get("amenities", "Amenities not available")
|
|
|
|
| 1015 |
|
| 1016 |
if isinstance(amenities, list):
|
| 1017 |
amenities = ", ".join(amenities)
|
| 1018 |
|
| 1019 |
+
# Format the output for each resort
|
| 1020 |
response_text += f"[{name}]({link})\n" # Name with clickable link
|
| 1021 |
+
response_text += f"*{location}*\n" # Location with resort name and "Bali"
|
| 1022 |
response_text += f"**Price:** {price}\n"
|
| 1023 |
+
response_text += f"**Amenities:** {amenities}\n"
|
|
|
|
| 1024 |
response_text += f"**Rating:** {star_rating(rating)} ({rating} stars, {reviews} reviews)\n"
|
| 1025 |
response_text += "-" * 50 + "\n"
|
| 1026 |
|