kopia lustrzana https://gitlab.com/jaywink/federation
Protocol entities should inherit base entity
Se some additional required in AcitivitypubEntityMixinmerge-requests/132/head
rodzic
c4484d61c3
commit
a72153e9b4
|
@ -1,15 +1,20 @@
|
||||||
|
from federation.entities.mixins import BaseEntity
|
||||||
from federation.entities.utils import get_base_attributes
|
from federation.entities.utils import get_base_attributes
|
||||||
|
|
||||||
|
|
||||||
class ActivitypubEntityMixin:
|
class ActivitypubEntityMixin(BaseEntity):
|
||||||
|
def __init__(self, *args, **kwargs):
|
||||||
|
super().__init__(*args, **kwargs)
|
||||||
|
self._required.extend(['activity', 'activity_id'])
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def from_base(cls, entity):
|
def from_base(cls, entity):
|
||||||
# noinspection PyArgumentList
|
# noinspection PyArgumentList
|
||||||
return cls(**get_base_attributes(entity))
|
return cls(**get_base_attributes(entity))
|
||||||
|
|
||||||
def get_activity_id(self, activity):
|
def get_activity_id(self):
|
||||||
# noinspection PyUnresolvedReferences
|
# noinspection PyUnresolvedReferences
|
||||||
return f"{self.id}/{activity.lower()}"
|
return f"{self.id}/{self.activity.value}/{self.activity_id}"
|
||||||
|
|
||||||
def to_string(self):
|
def to_string(self):
|
||||||
# noinspection PyUnresolvedReferences
|
# noinspection PyUnresolvedReferences
|
||||||
|
|
|
@ -3,12 +3,13 @@ import re
|
||||||
from lxml import etree
|
from lxml import etree
|
||||||
|
|
||||||
from federation.entities.diaspora.utils import add_element_to_doc
|
from federation.entities.diaspora.utils import add_element_to_doc
|
||||||
|
from federation.entities.mixins import BaseEntity
|
||||||
from federation.entities.utils import get_base_attributes
|
from federation.entities.utils import get_base_attributes
|
||||||
from federation.exceptions import SignatureVerificationError
|
from federation.exceptions import SignatureVerificationError
|
||||||
from federation.protocols.diaspora.signatures import verify_relayable_signature, create_relayable_signature
|
from federation.protocols.diaspora.signatures import verify_relayable_signature, create_relayable_signature
|
||||||
|
|
||||||
|
|
||||||
class DiasporaEntityMixin:
|
class DiasporaEntityMixin(BaseEntity):
|
||||||
# Normally outbound document is generated from entity. Store one here if at some point we already have a doc
|
# Normally outbound document is generated from entity. Store one here if at some point we already have a doc
|
||||||
outbound_doc = None
|
outbound_doc = None
|
||||||
|
|
||||||
|
|
Ładowanie…
Reference in New Issue