activity.models.occasion_date ============================= .. py:module:: activity.models.occasion_date Classes ------- .. autoapisummary:: activity.models.occasion_date.DAYS activity.models.occasion_date.OccasionDate Functions --------- .. autoapisummary:: activity.models.occasion_date.before_flush Module Contents --------------- .. py:class:: DAYS Bases: :py:obj:`enum.IntEnum` Enum where members are also (and must be) ints .. py:attribute:: half :value: 1 .. py:attribute:: full :value: 2 .. py:attribute:: many :value: 4 .. py:method:: has(value: int, mask: int) -> bool :staticmethod: .. py:method:: compute(localized_start: datetime.datetime, localized_end: datetime.datetime, total_seconds: float) -> DAYS :staticmethod: .. py:class:: OccasionDate Bases: :py:obj:`onegov.core.orm.Base`, :py:obj:`onegov.core.orm.mixins.TimestampMixin` A single start/end date of an occurrence (which may have multiple date ranges). .. py:attribute:: __tablename__ :value: 'occasion_dates' .. py:method:: __hash__() -> int .. py:attribute:: id :type: sqlalchemy.Column[int] .. py:attribute:: timezone :type: sqlalchemy.Column[str] .. py:attribute:: start :type: sqlalchemy.Column[datetime.datetime] .. py:attribute:: end :type: sqlalchemy.Column[datetime.datetime] .. py:attribute:: occasion_id :type: sqlalchemy.Column[uuid.UUID] .. py:attribute:: occasion :type: sqlalchemy.orm.relationship[onegov.activity.models.Occasion] .. py:attribute:: __table_args__ .. py:property:: localized_start :type: datetime.datetime .. py:property:: localized_end :type: datetime.datetime .. py:property:: active_days :type: collections.abc.Iterator[int] .. py:property:: weekdays :type: list[int] .. py:attribute:: duration_in_seconds :type: sqlalchemy.Column[float] .. py:method:: duration() -> DAYS .. py:method:: overlaps(other: OccasionDate) -> bool .. py:function:: before_flush(session: sqlalchemy.orm.Session, context: sqlalchemy.orm.UOWTransaction, instances: collections.abc.Sequence[Any]) -> None