コード例 #1
0
from pprint import pprint
from flight_search import FlightSearch
from twilio.rest import Client
from keys import account_sid, auth_token, TWILIO_NUMBER, MY_NUMBER

ORIGIN_CITY_CODE = "DFW"
ORIGIN_CITY = "Dallas"

data_manager = DataManager()
sheet_data = data_manager.get_destination_data()
flight_search = FlightSearch()

#Check if iata code is missing in first city, if yes get the code and update the sheet
if sheet_data[0]["iataCode"] == '':
    for data in sheet_data:
        data["iataCode"] = flight_search.get_iata_code(data["city"])
    data_manager.destination_data = sheet_data
    data_manager.update_iata_code()

for destination in sheet_data:
    flight = flight_search.search_flights(ORIGIN_CITY_CODE,
                                          destination["iataCode"])
    if flight != None:
        if flight.price < destination["lowestPrice"]:
            #Twilio client
            client = Client(account_sid, auth_token)

            message = client.messages.create(body=f"""\n
                    Low price alert!!!\n
                    Only ${flight.price} to fly from {flight.departure_city}-{flight.departure_airport_code} to {flight.destination_city}-{flight.destination_airport_code},\n
                    from {flight.out_date} to {flight.return_date}.
コード例 #2
0
from datetime import datetime, timedelta
from data_manager import DataManager
from flight_search import FlightSearch

ORIGIN_CITY_IATA = "MIA"


database = DataManager()
search = FlightSearch()

for item in database.prices["prices"]:
    if not item["iataCode"]:
        iata_code = search.get_iata_code(city=item["city"])
        print(iata_code)
        database.update_iata_code(item, iata_code)

tomorrow = datetime.now() + timedelta(days=1)
six_month_from_today = datetime.now() + timedelta(days=(6 * 30))

for destination in database.prices["prices"]:
    flight = search.check_flights(
        ORIGIN_CITY_IATA,
        destination["iataCode"],
        from_time=tomorrow,
        to_time=six_month_from_today
    )

    if flight.price < destination["lowestPrice"]:
        notification_manager.send_sms(
            message=f"Low price alert! Only ${flight.price} to fly from {flight.origin_city}-{flight.origin_airport} to {flight.destination_city}-{flight.destination_airport}, from {flight.out_date} to {flight.return_date}."
        )
コード例 #3
0
from data_manager import DataManager
from flight_search import  FlightSearch
from notification_manager import NotificationManager

ORIGIN = "NBO"
# Populate Google sheet copy
flight_sheet =  DataManager()
sheet_data = flight_sheet.get_sheet_data()

# Get IATA code
flight_search = FlightSearch()
for row in sheet_data:
    if row['iataCode'] == "":
        row['iataCode'] = flight_search.get_iata_code(row['city'])

# Update IATA code on google sheet
flight_sheet.update_sheet_data()

# Get cheap flights
for row in sheet_data:
    flights = flight_search.get_flight_details(ORIGIN, row['iataCode'])
    if flights and flights.price <= row['lowestPrice']:
        notification = NotificationManager(flights.price, ORIGIN, flights.source_airport, flights.dest_city, flights.dest_airport)
        notification.send_email()
    else:
        continue
コード例 #4
0
#This file will need to use the DataManager,FlightSearch, FlightData, NotificationManager classes to achieve the program requirements.
from data_manager import DataManager
from flight_search import FlightSearch
from pprint import pprint

data_manager = DataManager()
sheet_data=data_manager.get_data()
flight_search=FlightSearch()
for data in sheet_data["prices"]:
    code=flight_search.get_iata_code(data["city"])
    data["iataCode"]=code
    id=data["id"]
    body={
        "price":{
            "iataCode": code
        }
    }
    data_manager.update(id,body)
data_manager.data=sheet_data
print(data_manager.data)