load_dotenv() CURRENCY = "GBP" home_city_iata = os.getenv("HOME_CITY_IATA") # This file will need to use the DataManager,FlightSearch, FlightData, # NotificationManager classes to achieve the program requirements. data_manager = DataManager() flight_search = FlightSearch() notification = NotificationManager() data_manager.read_sheet() date_from = (datetime.now() + timedelta(days=1)).strftime("%d/%m/%Y") date_to = (datetime.now() + timedelta(days=(6 * 30))).strftime("%d/%m/%Y") for row in data_manager.sheet_data: if not row["iataCode"]: row["iataCode"] = flight_search.get_city_code(row["city"]) data_manager.update_iata(row["id"], row["iataCode"]) flight = flight_search.get_flights( departure_iata=home_city_iata, destination_iata=row["iataCode"], departure_date=date_from, return_date=date_to, currency=CURRENCY, ) if flight and flight.price <= row["lowestPrice"]: notification.send_flight_alert_sms(flight)
data_manager = DataManager() sheet_data = data_manager.get_sheet_data() if sheet_data[0]["iataCode"] == "": for row in sheet_data: row["iataCode"] = flight_search.get_destination_codes(row["city"]) print(sheet_data) data_manager.destination_data = sheet_data data_manager.update_sheet_data() users = data_manager.get_emails() firstNames = [item['firstName'] for item in users] lastNames = [item['lastName'] for item in users] emails = [item['email'] for item in users] for row in sheet_data: # print(row) flight = flight_search.get_flights(row["iataCode"]) lowest_price = row["lowestPrice"] if flight is not None: if flight["price"] < lowest_price: notification_manager = NotificationManager() # notification_manager.send_message(flight) notification_manager.send_mail(flight=flight, fnames=firstNames, lnames=lastNames, emails=emails)