Source code for swissvotes.converters

from __future__ import annotations

import morepath

from onegov.swissvotes.models.policy_area import PolicyArea


[docs] def policy_area_decode(s: str) -> PolicyArea: result = PolicyArea.from_url_param(s) if result is None: raise ValueError(f'Invalid policy area: {s!r}') return result
[docs] def policy_area_encode(p: PolicyArea | None) -> str: # None branch satisfies morepath's Converter[T] # stub (encode: T | None → str) return p.value if p is not None else ''
[docs] policy_area_converter: morepath.Converter[PolicyArea] = ( morepath.Converter(decode=policy_area_decode, encode=policy_area_encode) )