Make the collection parsing more extensible

pull/9/head
Thomas Sileo 2018-07-08 12:18:32 +02:00
rodzic ac51aad59d
commit 5b0f7d9e44
2 zmienionych plików z 10 dodań i 3 usunięć

Wyświetl plik

@ -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]:

Wyświetl plik

@ -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: