Clarify missing Eurostar price states
This commit is contained in:
parent
ed8a5626a4
commit
2b475aa726
4 changed files with 122 additions and 6 deletions
30
app.py
30
app.py
|
|
@ -261,15 +261,29 @@ def _eurostar_prices_by_row(
|
|||
if service.get("price") is not None
|
||||
else None
|
||||
),
|
||||
"es_standard_status": _eurostar_price_status(
|
||||
service.get("price"), service.get("seats")
|
||||
),
|
||||
"es_plus": (
|
||||
{"price": service.get("plus_price"), "seats": service.get("plus_seats")}
|
||||
if service.get("plus_price") is not None
|
||||
else None
|
||||
),
|
||||
"es_plus_status": _eurostar_price_status(
|
||||
service.get("plus_price"), service.get("plus_seats")
|
||||
),
|
||||
}
|
||||
return prices
|
||||
|
||||
|
||||
def _eurostar_price_status(price: Any, seats: Any) -> str | None:
|
||||
if price is not None:
|
||||
return None
|
||||
if seats == 0:
|
||||
return "sold_out"
|
||||
return "price_not_returned"
|
||||
|
||||
|
||||
def _get_defaults() -> tuple[int, int]:
|
||||
return (
|
||||
app.config["DEFAULT_MIN_CONNECTION"],
|
||||
|
|
@ -300,6 +314,9 @@ def _section_trip_fares(section: dict[str, Any]) -> dict[str, Any]:
|
|||
if row.get("eurostar_price") is not None
|
||||
else None
|
||||
)
|
||||
es_std_status = _eurostar_price_status(
|
||||
row.get("eurostar_price"), row.get("eurostar_seats")
|
||||
)
|
||||
es_plus = (
|
||||
{
|
||||
"price": row["eurostar_plus_price"],
|
||||
|
|
@ -308,13 +325,18 @@ def _section_trip_fares(section: dict[str, Any]) -> dict[str, Any]:
|
|||
if row.get("eurostar_plus_price") is not None
|
||||
else None
|
||||
)
|
||||
es_plus_status = _eurostar_price_status(
|
||||
row.get("eurostar_plus_price"), row.get("eurostar_plus_seats")
|
||||
)
|
||||
trip_fares[row["row_key"]] = {
|
||||
"section": section["id"],
|
||||
"eurostar_key": row.get("eurostar_key"),
|
||||
"advance_key": row.get("depart_bristol") or row.get("depart_paddington"),
|
||||
"walkon": walkon,
|
||||
"es_standard": es_std,
|
||||
"es_standard_status": es_std_status,
|
||||
"es_plus": es_plus,
|
||||
"es_plus_status": es_plus_status,
|
||||
"circle_fare": circle_fare,
|
||||
}
|
||||
return trip_fares
|
||||
|
|
@ -1268,6 +1290,9 @@ def _results(
|
|||
if row.get("eurostar_price") is not None
|
||||
else None
|
||||
)
|
||||
es_std_status = _eurostar_price_status(
|
||||
row.get("eurostar_price"), row.get("eurostar_seats")
|
||||
)
|
||||
es_plus = (
|
||||
{
|
||||
"price": row["eurostar_plus_price"],
|
||||
|
|
@ -1276,6 +1301,9 @@ def _results(
|
|||
if row.get("eurostar_plus_price") is not None
|
||||
else None
|
||||
)
|
||||
es_plus_status = _eurostar_price_status(
|
||||
row.get("eurostar_plus_price"), row.get("eurostar_plus_seats")
|
||||
)
|
||||
trip_fares[row["row_key"]] = {
|
||||
"section": section["id"],
|
||||
"eurostar_key": row.get("eurostar_key"),
|
||||
|
|
@ -1283,7 +1311,9 @@ def _results(
|
|||
or row.get("depart_paddington"),
|
||||
"walkon": walkon,
|
||||
"es_standard": es_std,
|
||||
"es_standard_status": es_std_status,
|
||||
"es_plus": es_plus,
|
||||
"es_plus_status": es_plus_status,
|
||||
"circle_fare": circle_fare,
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue