Files

42 lines
843 B
Python

from datetime import date, datetime
from pydantic import BaseModel
from slugify import slugify
class Country(BaseModel):
name: str
code: str
class City(BaseModel):
id: int
name: str
country: Country
class Fare(BaseModel):
amount: float
currency: str
class Result(BaseModel):
departure: datetime
arrival: datetime
origin: str
destination: str
fare: Fare
type: str
source_id: int
destination_id: int
free_seats: int
carrier: str
@property
def slug(self) -> str:
return self.slugify(self.origin, self.destination, self.departure.date(), self.fare.currency)
@staticmethod
def slugify(origin: str, destination: str, departure: date, currency: str) -> str:
return slugify(" ".join([origin, destination, departure.isoformat(), currency]))