Fix lookup for remote activities
This commit is contained in:
@@ -113,8 +113,7 @@ def _is_local_reply(create: ap.Create) -> bool:
|
||||
return False
|
||||
|
||||
|
||||
def save(box: Box, activity: ap.BaseActivity) -> None:
|
||||
"""Custom helper for saving an activity to the DB."""
|
||||
def _meta(activity: ap.BaseActivity) -> _NewMeta:
|
||||
visibility = ap.get_visibility(activity)
|
||||
is_public = False
|
||||
if visibility in [ap.Visibility.PUBLIC, ap.Visibility.UNLISTED]:
|
||||
@@ -134,10 +133,26 @@ def save(box: Box, activity: ap.BaseActivity) -> None:
|
||||
|
||||
actor_id = activity.get_actor().id
|
||||
|
||||
return {
|
||||
MetaKey.UNDO.value: False,
|
||||
MetaKey.DELETED.value: False,
|
||||
MetaKey.PUBLIC.value: is_public,
|
||||
MetaKey.SERVER.value: urlparse(activity.id).netloc,
|
||||
MetaKey.VISIBILITY.value: visibility.name,
|
||||
MetaKey.ACTOR_ID.value: actor_id,
|
||||
MetaKey.OBJECT_ID.value: object_id,
|
||||
MetaKey.OBJECT_VISIBILITY.value: object_visibility,
|
||||
MetaKey.POLL_ANSWER.value: False,
|
||||
MetaKey.PUBLISHED.value: activity.published if activity.published else now(),
|
||||
}
|
||||
|
||||
|
||||
def save(box: Box, activity: ap.BaseActivity) -> None:
|
||||
"""Custom helper for saving an activity to the DB."""
|
||||
# Set some "type"-related neta
|
||||
extra: Dict[str, Any] = {}
|
||||
meta = _meta(activity)
|
||||
if box == Box.OUTBOX and activity.has_type(ap.ActivityType.FOLLOW):
|
||||
extra[MetaKey.FOLLOW_STATUS.value] = FollowStatus.WAITING.value
|
||||
meta[MetaKey.FOLLOW_STATUS.value] = FollowStatus.WAITING.value
|
||||
elif activity.has_type(ap.ActivityType.CREATE):
|
||||
mentions = []
|
||||
obj = activity.get_object()
|
||||
@@ -146,7 +161,7 @@ def save(box: Box, activity: ap.BaseActivity) -> None:
|
||||
hashtags = []
|
||||
for h in obj.get_hashtags():
|
||||
hashtags.append(h.name[1:]) # Strip the #
|
||||
extra.update(
|
||||
meta.update(
|
||||
{MetaKey.MENTIONS.value: mentions, MetaKey.HASHTAGS.value: hashtags}
|
||||
)
|
||||
|
||||
@@ -156,21 +171,7 @@ def save(box: Box, activity: ap.BaseActivity) -> None:
|
||||
"activity": activity.to_dict(),
|
||||
"type": _to_list(activity.type),
|
||||
"remote_id": activity.id,
|
||||
"meta": {
|
||||
MetaKey.UNDO.value: False,
|
||||
MetaKey.DELETED.value: False,
|
||||
MetaKey.PUBLIC.value: is_public,
|
||||
MetaKey.SERVER.value: urlparse(activity.id).netloc,
|
||||
MetaKey.VISIBILITY.value: visibility.name,
|
||||
MetaKey.ACTOR_ID.value: actor_id,
|
||||
MetaKey.OBJECT_ID.value: object_id,
|
||||
MetaKey.OBJECT_VISIBILITY.value: object_visibility,
|
||||
MetaKey.POLL_ANSWER.value: False,
|
||||
MetaKey.PUBLISHED.value: activity.published
|
||||
if activity.published
|
||||
else now(),
|
||||
**extra,
|
||||
},
|
||||
"meta": meta,
|
||||
}
|
||||
)
|
||||
|
||||
|
Reference in New Issue
Block a user