still cache actor for note with buggy links

This commit is contained in:
Thomas Sileo 2019-11-01 12:45:36 +01:00
parent 6db28ac94d
commit 00b43fa935

View file

@ -366,7 +366,7 @@ def task_send_webmention() -> _Response:
return "" return ""
@blueprint.route("/task/cache_actor", methods=["POST"]) @blueprint.route("/task/cache_actor", methods=["POST"]) # noqa: C910 # too complex
def task_cache_actor() -> _Response: def task_cache_actor() -> _Response:
task = p.parse(flask.request) task = p.parse(flask.request)
app.logger.info(f"task={task!r}") app.logger.info(f"task={task!r}")
@ -381,16 +381,19 @@ def task_cache_actor() -> _Response:
# Fetch the Open Grah metadata if it's a `Create` # Fetch the Open Grah metadata if it's a `Create`
if activity.has_type(ap.ActivityType.CREATE): if activity.has_type(ap.ActivityType.CREATE):
obj = activity.get_object() obj = activity.get_object()
links = opengraph.links_from_note(obj.to_dict()) try:
if links: links = opengraph.links_from_note(obj.to_dict())
Tasks.fetch_og_meta(iri) if links:
Tasks.fetch_og_meta(iri)
# Send Webmentions only if it's from the outbox, and public # Send Webmentions only if it's from the outbox, and public
if ( if (
is_from_outbox(obj) is_from_outbox(obj)
and ap.get_visibility(obj) == ap.Visibility.PUBLIC and ap.get_visibility(obj) == ap.Visibility.PUBLIC
): ):
Tasks.send_webmentions(activity, links) Tasks.send_webmentions(activity, links)
except Exception:
app.logger.exception("failed to cache links")
if activity.has_type(ap.ActivityType.FOLLOW): if activity.has_type(ap.ActivityType.FOLLOW):
if actor.id == config.ID: if actor.id == config.ID: