Source code for timelink.mhk.models.person

# pylint: disable=import-error

from sqlalchemy import Column, String, ForeignKey

from timelink.mhk.models.entity import Entity
from timelink.kleio.utilities import quote_long_text


[docs] class Person(Entity): """Represents a person.""" __tablename__ = "persons" id = Column(String, ForeignKey("entities.id"), primary_key=True) name = Column(String, index=True) id = Column(String, ForeignKey("entities.id"), primary_key=True) name = Column(String) sex = Column(String(1)) obs = Column(String) __mapper_args__ = {"polymorphic_identity": "person"} def __repr__(self): sr = super().__repr__() return ( f"Person(id={sr}, " f'name="{self.name}", ' f'sex="{self.sex}", ' f"obs={self.obs}" f")" ) def __str__(self): r = f"{self.groupname}${quote_long_text(self.name)}/{quote_long_text(self.sex)}/id={quote_long_text(self.id)}" if self.obs is not None and len(self.obs.strip()) > 0: r = f"{r}/obs={quote_long_text(self.obs)}" return r