kopia lustrzana https://github.com/tsileo/little-boxes
Make the collection parsing more extensible
rodzic
ac51aad59d
commit
5b0f7d9e44
|
@ -569,9 +569,7 @@ class BaseActivity(object, metaclass=_ActivityMeta):
|
|||
|
||||
# Is the activity a `Collection`/`OrderedCollection`?
|
||||
elif actor.ACTIVITY_TYPE in COLLECTION_TYPES:
|
||||
for item in parse_collection(
|
||||
actor.to_dict(), fetcher=BACKEND.fetch_iri
|
||||
):
|
||||
for item in BACKEND.parse_collection(actor.to_dict()):
|
||||
# XXX(tsileo): is nested collection support needed here?
|
||||
|
||||
if item in [actor_id, AS_PUBLIC]:
|
||||
|
|
|
@ -2,10 +2,14 @@ import abc
|
|||
import binascii
|
||||
import os
|
||||
import typing
|
||||
from typing import Any
|
||||
from typing import Dict
|
||||
from typing import Optional
|
||||
|
||||
import requests
|
||||
|
||||
from .__version__ import __version__
|
||||
from .collection import parse_collection
|
||||
from .errors import ActivityNotFoundError
|
||||
from .errors import RemoteActivityGoneError
|
||||
from .urlutils import check_url as check_url
|
||||
|
@ -44,6 +48,11 @@ class Backend(abc.ABC):
|
|||
|
||||
return resp
|
||||
|
||||
def parse_collection(
|
||||
self, payload: Optional[Dict[str, Any]] = None, url: Optional[str] = None
|
||||
):
|
||||
return parse_collection(payload=payload, url=url, fetcher=self.fetch_iri)
|
||||
|
||||
def is_from_outbox(
|
||||
self, as_actor: "ap.Person", activity: "ap.BaseActivity"
|
||||
) -> bool:
|
||||
|
|
Ładowanie…
Reference in New Issue