mirror of
https://git.sr.ht/~tsileo/microblog.pub
synced 2024-11-15 11:14:28 +00:00
Better activity type handling
This commit is contained in:
parent
541bf1c63b
commit
0c2030605d
1 changed files with 5 additions and 12 deletions
|
@ -5,7 +5,6 @@ from typing import Any
|
||||||
from typing import Dict
|
from typing import Dict
|
||||||
from typing import List
|
from typing import List
|
||||||
from typing import Optional
|
from typing import Optional
|
||||||
from typing import Union
|
|
||||||
|
|
||||||
from bson.objectid import ObjectId
|
from bson.objectid import ObjectId
|
||||||
from feedgen.feed import FeedGenerator
|
from feedgen.feed import FeedGenerator
|
||||||
|
@ -23,6 +22,7 @@ from little_boxes import activitypub as ap
|
||||||
from little_boxes.backend import Backend
|
from little_boxes.backend import Backend
|
||||||
from little_boxes.collection import parse_collection as ap_parse_collection
|
from little_boxes.collection import parse_collection as ap_parse_collection
|
||||||
from little_boxes.errors import Error
|
from little_boxes.errors import Error
|
||||||
|
from little_boxes.activitypub import _to_list
|
||||||
|
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
@ -35,13 +35,6 @@ def _remove_id(doc: ap.ObjectType) -> ap.ObjectType:
|
||||||
return doc
|
return doc
|
||||||
|
|
||||||
|
|
||||||
def _to_list(data: Union[List[Any], Any]) -> List[Any]:
|
|
||||||
"""Helper to convert fields that can be either an object or a list of objects to a list of object."""
|
|
||||||
if isinstance(data, list):
|
|
||||||
return data
|
|
||||||
return [data]
|
|
||||||
|
|
||||||
|
|
||||||
def ensure_it_is_me(f):
|
def ensure_it_is_me(f):
|
||||||
"""Method decorator used to track the events fired during tests."""
|
"""Method decorator used to track the events fired during tests."""
|
||||||
|
|
||||||
|
@ -80,7 +73,7 @@ class MicroblogPubBackend(Backend):
|
||||||
DB.outbox.insert_one(
|
DB.outbox.insert_one(
|
||||||
{
|
{
|
||||||
"activity": activity.to_dict(),
|
"activity": activity.to_dict(),
|
||||||
"type": activity.type,
|
"type": _to_list(activity.type),
|
||||||
"remote_id": activity.id,
|
"remote_id": activity.id,
|
||||||
"meta": {"undo": False, "deleted": False},
|
"meta": {"undo": False, "deleted": False},
|
||||||
}
|
}
|
||||||
|
@ -131,7 +124,7 @@ class MicroblogPubBackend(Backend):
|
||||||
DB.inbox.insert_one(
|
DB.inbox.insert_one(
|
||||||
{
|
{
|
||||||
"activity": activity.to_dict(),
|
"activity": activity.to_dict(),
|
||||||
"type": activity.type,
|
"type": _to_list(activity.type),
|
||||||
"remote_id": activity.id,
|
"remote_id": activity.id,
|
||||||
"meta": {"undo": False, "deleted": False},
|
"meta": {"undo": False, "deleted": False},
|
||||||
}
|
}
|
||||||
|
@ -384,7 +377,7 @@ class MicroblogPubBackend(Backend):
|
||||||
DB.threads.insert_one(
|
DB.threads.insert_one(
|
||||||
{
|
{
|
||||||
"activity": reply.to_dict(),
|
"activity": reply.to_dict(),
|
||||||
"type": reply.type,
|
"type": _to_list(reply.type),
|
||||||
"remote_id": reply.id,
|
"remote_id": reply.id,
|
||||||
"meta": {"undo": False, "deleted": False},
|
"meta": {"undo": False, "deleted": False},
|
||||||
}
|
}
|
||||||
|
@ -402,7 +395,7 @@ class MicroblogPubBackend(Backend):
|
||||||
DB.threads.insert_one(
|
DB.threads.insert_one(
|
||||||
{
|
{
|
||||||
"activity": reply.to_dict(),
|
"activity": reply.to_dict(),
|
||||||
"type": reply.type,
|
"type": _to_list(reply.type),
|
||||||
"remote_id": reply.id,
|
"remote_id": reply.id,
|
||||||
"meta": {"undo": False, "deleted": False},
|
"meta": {"undo": False, "deleted": False},
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue