Source code for org.models.export

from __future__ import annotations

from typing import Any, TYPE_CHECKING
if TYPE_CHECKING:
    from collections.abc import Iterable, Iterator
    from onegov.form import Form
    from onegov.org.app import OrgApp
    from onegov.org.request import OrgRequest
    from sqlalchemy.orm import Session


[docs] class ExportCollection: def __init__( self, app: OrgApp, registry: str = 'export_registry' ) -> None:
[docs] self.registry = getattr(app.config, registry)
[docs] def by_id(self, id: object) -> Export | None: return self.registry.get(id)
[docs] def exports_for_current_user( self, request: OrgRequest ) -> Iterator[Export]: app = request.app for export in self.registry.values(): if request.has_permission(export, app.permission_by_view(export)): yield export
[docs] class Export: def __init__(self, **kwargs: object) -> None: for key, value in kwargs.items(): setattr(self, key, value) if TYPE_CHECKING:
[docs] def __getattr__(self, name: str) -> Any: ...
[docs] def run( self, form: Form, session: Session ) -> Iterable[Iterable[tuple[Any, Any]]]: raise NotImplementedError