Enable Webmentions for public posts

This commit is contained in:
Thomas Sileo
2019-09-08 12:09:34 +02:00
parent 4d968264f2
commit 018b7bf553
7 changed files with 65 additions and 7 deletions

View File

@@ -9,6 +9,7 @@ from little_boxes.errors import NotAnActivityError
import config
from core.activitypub import _answer_key
from core.activitypub import handle_replies
from core.activitypub import new_context
from core.activitypub import post_to_outbox
from core.activitypub import update_cached_actor
from core.db import DB
@@ -163,6 +164,7 @@ def _follow_process_inbox(activity: ap.Follow, new_meta: _NewMeta) -> None:
actor_id = activity.get_actor().id
accept = ap.Accept(
actor=config.ID,
context=new_context(activity),
object={
"type": "Follow",
"id": activity.id,

View File

@@ -3,6 +3,7 @@ from datetime import datetime
from datetime import timezone
from typing import Any
from typing import Dict
from typing import Set
from little_boxes import activitypub as ap
from poussetaches import PousseTaches
@@ -40,6 +41,18 @@ class Tasks:
p.push({"url": url, "iri": iri}, "/task/cache_emoji")
@staticmethod
def send_webmentions(activity: ap.Create, links: Set[str]) -> None:
for link in links:
p.push(
{
"link": link,
"note_url": activity.get_object().get_url(),
"remote_id": activity.id,
},
"/task/send_webmention",
)
@staticmethod
def cache_emojis(activity: ap.BaseActivity) -> None:
for emoji in activity.get_emojis():