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.