from flight_search import FlightSearch flight_search = FlightSearch() for row in sheet_data: row["iataCode"] = flight_search.get_destination_code(row["city"]) print(sheet_data) data_manager.destination_data = sheet_data data_manager.update_destination_codes() tomorrow = datetime.now() + timedelta(days=1) six_month_from_today = datetime.now() + timedelta(days=(6 * 30)) for destination in sheet_data: flight = flight_search.check_flight( ORIGIN_CITY_IATA, destination["iataCode"], from_time=tomorrow, to_time=six_month_from_today ) if flight is None: continue if flight.price < destination["lowestPrice"]: message=f"Low price alert! Only £{flight.price} to fly from {flight.origin_city}-{flight.origin_airport} to " \ f"{flight.destination_city}-{flight.destination_airport}, from {flight.out_date} to {flight.return_date}." # if flight.stop_overs > 0: # message += f"\nFlight has {flight.stop_overs} stop over, via {flight.via_city}." link = f"https://www.google.co.uk/flights?hl=en#flt={flight.origin_airport}.{flight.destination_airport}.{flight.out_date}*{flight.destination_airport}.{flight.origin_airport}.{flight.return_date}" notification_manager.send_emails(emails, message, link)
destinations = { data["iataCode"]: { "id": data["id"], "city": data["city"], "price": data["lowestPrice"] } for data in sheet_data } today = datetime.now() + timedelta(1) six_month_from_today = datetime.now() + timedelta(6 * 30) for destination_code in destinations: flight = flight_search.check_flight(ORIGIN_CITY_DATA, destination_code, from_time=today, to_time=six_month_from_today) print(flight.price) if flight is None: continue if flight.price < destinations[destination_code]["price"]: users = data_manager.get_customer_emails() emails = [row["email"] for row in users] names = [row["firstName"] for row in users] message = f"Low Price Alert! Only Rs.{flight.price} To Fly From " \ f"{flight.origin_city}-{flight.origin_airport} to " \ f"{flight.destination_city}-{flight.destination_airport}, from " \ f"{flight.out_data} to {flight.return_date}." if flight.stop_overs > 0: