betty.url_generator module

Provide a URL generation API.

exception betty.url_generator.GenerationError

Bases: RuntimeError

A URL generation error.

exception betty.url_generator.UnsupportedResource

Bases: GenerationError

Raised when a URL generator cannot generate a URL for a resource.

These are preventable by checking betty.url_generator.UrlGenerator.supports() first.

__init__(resource: Any, /)
class betty.url_generator.UrlGenerator

Bases: ABC, Generic

Generate URLs for resources.

abstractmethod generate(resource: ResourceT, /, *, absolute: bool = False, fragment: str | None = None, locale: ResolvableLocale | None = None, media_type: ResolvableMediaType | None = None, query: Mapping[str, Sequence[str]] | None = None) str

Generate a URL for a resource.

Raises:
abstractmethod supports(resource: Any, /) TypeGuard[ResourceT]

Whether the given resource is supported by this URL generator.