coarnotify.patterns.announce_endorsement ======================================== .. py:module:: coarnotify.patterns.announce_endorsement .. autoapi-nested-parse:: Pattern to represent an ``Announce Endorsement`` notification https://coar-notify.net/specification/1.0.0/announce-endorsement/ Classes ------- .. autoapisummary:: coarnotify.patterns.announce_endorsement.AnnounceEndorsement coarnotify.patterns.announce_endorsement.AnnounceEndorsementContext coarnotify.patterns.announce_endorsement.AnnounceEndorsementItem Module Contents --------------- .. py:class:: AnnounceEndorsement(stream: Union[coarnotify.core.activitystreams2.ActivityStream, dict] = None, validate_stream_on_construct=True, validate_properties=True, validators=None, validation_context=None, properties_by_reference=True) Bases: :py:obj:`coarnotify.core.notify.NotifyPattern` Class to represent an Announce Endorsement pattern .. py:method:: validate() -> bool Extends the base validation to make `context` required :return: ``True`` if valid, otherwise raises :py:class:`coarnotify.exceptions.ValidationError` .. py:attribute:: TYPE Announce Endorsement type, consisting of Activity Streams Announce and Notify Endorsement Action .. py:property:: context :type: Union[AnnounceEndorsementContext, None] Get a context specific to Announce Endorsement :return: The Announce Endorsement context object .. py:class:: AnnounceEndorsementContext(stream: Union[coarnotify.core.activitystreams2.ActivityStream, dict] = None, validate_stream_on_construct=True, validate_properties=True, validators=None, validation_context=None, properties_by_reference=True) Bases: :py:obj:`coarnotify.core.notify.NotifyObject` Announce Endorsement context object, which extends the base NotifyObject to allow us to pass back a custom :py:class:`AnnounceEndorsementItem` .. py:property:: item :type: Union[AnnounceEndorsementItem, None] Get a custom :py:class:`AnnounceEndorsementItem` :return: the Announce Endorsement Item .. py:class:: AnnounceEndorsementItem(stream: Union[coarnotify.core.activitystreams2.ActivityStream, dict] = None, validate_stream_on_construct=True, validate_properties=True, validators=None, validation_context=None, properties_by_reference=True) Bases: :py:obj:`coarnotify.core.notify.NotifyItem` Announce Endorsement Item, which extends the base NotifyItem to provide additional validation .. py:method:: validate() -> bool Extends the base validation with validation custom to Announce Endorsement notifications * Adds type validation, which the base NotifyItem does not apply * Requires the ``mediaType`` value :return: ``True`` if valid, otherwise raises a ValidationError