Pular para conteúdo

Flights

flights(origin, destination, date, passengers=1)

Returns a list of flight prices from origin to destination on date.

Parameters:

Name Type Description Default
origin str

Origin airport code.

required
destination str

Destination airport code.

required
date str

Date in YYYY-MM-DD format (iso format).

required
passengers int

Number of passengers. Defaults to 1.

1

Returns:

Name Type Description
list List[Flight]

List of flight prices.

Raises:

Type Description
ValueError

If date is not in YYYY-MM-DD format (iso format).

Examples:

>>> flights('CWB', 'POA', '{}'.format(now_isoformat))
[...]
Source code in travel_pricing_scraper/flights.py
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
def flights(
    origin: str, destination: str, date: str, passengers: int = 1
) -> List[Flight]:
    """Returns a list of flight prices from origin to destination on date.

    Args:
        origin (str): Origin airport code.
        destination (str): Destination airport code.
        date (str): Date in YYYY-MM-DD format (iso format).
        passengers (int, optional): Number of passengers. Defaults to 1.

    Returns:
        list: List of flight prices.

    Raises:
        ValueError: If date is not in YYYY-MM-DD format (iso format).

    Examples:
        >>> flights('CWB', 'POA', '{}'.format(now_isoformat))
        [...]
    """   # doctest: +ELLIPSIS

    origin = origin.upper()
    destination = destination.upper()

    if not (date[4] == '-' and date[7] == '-' and len(date) == 10):
        raise ValueError('Date must be in YYYY-MM-DD format (iso format).')

    if not asyncio.get_event_loop().is_running():
        loop = asyncio.new_event_loop()
        asyncio.set_event_loop(loop)
    flights = loop.run_until_complete(
        scrape_flights(origin, destination, date)
    )
    return flights