Source code for betty.ancestry.has_file_references

"""
Tools to build data types that reference files.
"""

from __future__ import annotations

from typing import Any, Iterable, TYPE_CHECKING

from betty.model import Entity
from betty.model.association import BidirectionalToMany, ToManyResolver

if TYPE_CHECKING:
    from betty.ancestry.file_reference import FileReference


[docs] class HasFileReferences(Entity): """ An entity that has associated :py:class:`betty.ancestry.file.File` entities. """ file_references = BidirectionalToMany[ "HasFileReferences & Entity", "FileReference" ]( "betty.ancestry.has_file_references:HasFileReferences", "file_references", "betty.ancestry.file_reference:FileReference", "referee", title="File references", linked_data_embedded=True, )
[docs] def __init__( self, *args: Any, file_references: Iterable[FileReference] | ToManyResolver[FileReference] | None = None, **kwargs: Any, ): super().__init__(*args, **kwargs) if file_references is not None: self.file_references = file_references