Skip to content

service

Classes:

Attributes:

Attributes

logger module-attribute

logger = getLogger(__name__)

geocode_service module-attribute

geocode_service = GeocodeService()

limit module-attribute

limit = 5

service module-attribute

service = GeocodeService()

loc module-attribute

loc = get_location_by_name('Allmagelerhuette')

eles module-attribute

eles = get_elevations([loc])

Classes

GeocodeService

GeocodeService()

Service to get Information from Nominatim.

Note

This is not used to get huts, rather to get additional info (like location) from huts.

Classes:

Methods:

Attributes:

Attributes

support_bbox class-attribute instance-attribute
support_bbox: bool = support_bbox
support_limit class-attribute instance-attribute
support_limit: bool = support_limit
support_offset class-attribute instance-attribute
support_offset: bool = support_offset
support_convert class-attribute instance-attribute
support_convert: bool = support_convert
support_booking class-attribute instance-attribute
support_booking: bool = support_booking
loc_request_url instance-attribute
loc_request_url = (
    "https://nominatim.openstreetmap.org/search"
)
ele_request_url instance-attribute
ele_request_url = (
    "https://api.open-elevation.com/api/v1/lookup"
)
httpx_client instance-attribute
httpx_client = Client()

Classes

MethodNotImplementedError
MethodNotImplementedError(obj: BaseService, method: str)

Method is not implemented exception.

Parameters:

  • obj
    (BaseService) –

    Service object (e.g. MyService).

  • method
    (str) –

    Method which is not implemented.

Functions

Functions

clear_all_cache classmethod
clear_all_cache() -> None

Clears the cache of all services!

get_huts_from_source
get_huts_from_source(
    bbox: BBox | None = None,
    limit: int = 1,
    offset: int = 0,
    **kwargs: Any,
) -> list[THutSourceSchema]

Get all huts from source.

Parameters:

  • bbox
    (BBox | None, default: None ) –

    Boundary box.

  • limit
    (int, default: 1 ) –

    Limit (how many entries to retrieve).

  • offset
    (int, default: 0 ) –

    Offset of the request.

Returns:

  • list[THutSourceSchema]

    Huts from source.

get_huts
get_huts(
    bbox: BBox | None = None,
    limit: int = 1,
    offset: int = 0,
    include_photos: bool = True,
    **kwargs: Any,
) -> list[HutSchema]

Get all huts form source and converts them. Calls get_huts_from_source() and convert().

Returns:

  • list[HutSchema]

    Converted huts from source.

get_bookings
get_bookings(
    date: datetime | date | Literal["now"] | None = None,
    days: int | None = None,
    source_ids: list[int | str] | None = None,
    lang: str = "de",
    request_interval: float | None = None,
) -> dict[int | str, HutBookingsSchema]

Get bookings for a list of huts.

Parameters:

  • date
    (datetime | date | Literal['now'] | None, default: None ) –

    Start daye for the bookings

  • days
    (int | None, default: None ) –

    Duration in days

  • source_ids
    (list[int | str] | None, default: None ) –

    A list of ids to return (source id, not the hut id), if set to None all are returned

  • lang
    (str, default: 'de' ) –

    Language for the response

  • request_interval
    (float | None, default: None ) –

    Interval between requests (if each huts needs a request)

Returns:

  • dict[int | str, HutBookingsSchema]

    A dictionary with the bookings (key = source id).

get_location_by_name
get_location_by_name(
    name: str, client: Client | None = None
) -> LocationEleSchema | None

Get location (coordinates) from a name (uses 'https://nominatim.openstreetmap.org).

get_elevations
get_elevations(
    locations: Sequence[LocationSchema | LocationEleSchema],
    client: Client | None = None,
) -> list[LocationEleSchema]

Get elevations from a list of locations (coordinates) (uses 'https://open-elevation.com).

get_elevation
get_elevation(
    location: LocationSchema | LocationEleSchema,
    client: Client | None = None,
) -> LocationEleSchema

Get elevation from a location (coordinates) (uses 'https://open-elevation.com).

convert
convert(
    src: Mapping | Any, include_photos: bool = True
) -> HutSchema

Functions