Revert "More cleanup"

This reverts commit 8a57d0dfda.
This commit is contained in:
Thomas Sileo
2019-04-08 20:55:03 +02:00
parent 8a57d0dfda
commit 5811583163
4 changed files with 96 additions and 76 deletions

27
app.py
View File

@@ -66,8 +66,6 @@ import config
import tasks # noqa: here just for the migration # FIXME(tsileo): remove me
from activitypub import Box
from activitypub import embed_collection
from activitypub import save
from activitypub import followers_as_recipients
from config import USER_AGENT
from config import ADMIN_API_KEY
from config import BASE_URL
@@ -1645,7 +1643,7 @@ def inbox():
data["object"]
):
logger.info(f"received a Delete for an actor {data!r}")
if DB.activities.find_one({"box": Box.INBOX.value, "remote_id": data["id"]}):
if get_backend().inbox_check_duplicate(MY_PERSON, data["id"]):
# The activity is already in the inbox
logger.info(f"received duplicate activity {data!r}, dropping it")
@@ -2297,9 +2295,7 @@ def task_finish_post_to_outbox():
elif obj.has_type(ap.ActivityType.ANNOUNCE):
back.outbox_undo_announce(MY_PERSON, obj)
elif obj.has_type(ap.ActivityType.FOLLOW):
DB.activities.update_one(
{"remote_id": obj.id}, {"$set": {"meta.undo": True}}
)
back.undo_new_following(MY_PERSON, obj)
app.logger.info(f"recipients={recipients}")
activity = ap.clean_activity(activity.to_dict())
@@ -2349,9 +2345,7 @@ def task_finish_post_to_inbox():
elif obj.has_type(ap.ActivityType.ANNOUNCE):
back.inbox_undo_announce(MY_PERSON, obj)
elif obj.has_type(ap.ActivityType.FOLLOW):
DB.activities.update_one(
{"remote_id": obj.id}, {"$set": {"meta.undo": True}}
)
back.undo_new_follower(MY_PERSON, obj)
try:
invalidate_cache(activity)
except Exception:
@@ -2373,7 +2367,7 @@ def post_to_outbox(activity: ap.BaseActivity) -> str:
obj_id = back.random_object_id()
activity.set_id(back.activity_url(obj_id), obj_id)
save(Box.OUTBOX, activity)
back.save(Box.OUTBOX, activity)
Tasks.cache_actor(activity.id)
Tasks.finish_post_to_outbox(activity.id)
return activity.id
@@ -2382,14 +2376,7 @@ def post_to_outbox(activity: ap.BaseActivity) -> str:
def post_to_inbox(activity: ap.BaseActivity) -> None:
# Check for Block activity
actor = activity.get_actor()
if DB.activities.find_one(
{
"box": Box.OUTBOX.value,
"type": ap.ActivityType.BLOCK.value,
"activity.object": actor.id,
"meta.undo": False,
}
):
if back.outbox_is_blocked(MY_PERSON, actor.id):
app.logger.info(
f"actor {actor!r} is blocked, dropping the received activity {activity!r}"
)
@@ -2399,7 +2386,7 @@ def post_to_inbox(activity: ap.BaseActivity) -> None:
# The activity is already in the inbox
app.logger.info(f"received duplicate activity {activity!r}, dropping it")
save(Box.INBOX, activity)
back.save(Box.INBOX, activity)
Tasks.process_new_activity(activity.id)
app.logger.info(f"spawning task for {activity!r}")
@@ -2667,7 +2654,7 @@ def task_forward_activity():
iri = task.payload
try:
activity = ap.fetch_remote_activity(iri)
recipients = followers_as_recipients()
recipients = back.followers_as_recipients()
app.logger.debug(f"Forwarding {activity!r} to {recipients}")
activity = ap.clean_activity(activity.to_dict())
payload = json.dumps(activity)