aboutsummaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
authorGravatar jesopo2020-03-08 18:43:49 +0000
committerGravatar jesopo2020-03-08 18:43:49 +0000
commit142d1810487ca667d00b1c88bd2181eece7026e7 (patch)
tree4e216c303d545fba2ea51b09a87ec399ec7f22a4 /modules
parentcheck if message isn't None, rather than falsey (diff)
signature
tolerate a server not having a host-meta
Diffstat (limited to 'modules')
-rw-r--r--modules/fediverse/ap_utils.py10
1 files changed, 6 insertions, 4 deletions
diff --git a/modules/fediverse/ap_utils.py b/modules/fediverse/ap_utils.py
index 0d44d523..f77e800d 100644
--- a/modules/fediverse/ap_utils.py
+++ b/modules/fediverse/ap_utils.py
@@ -39,15 +39,17 @@ class FindActorException(Exception):
pass
def find_actor(username, instance):
- hostmeta = HOSTMETA_TEMPLATE % instance
- hostmeta_request = utils.http.Request(HOSTMETA_TEMPLATE % instance)
+ hostmeta_url = HOSTMETA_TEMPLATE % instance
+ hostmeta_request = utils.http.Request(hostmeta_url)
try:
hostmeta = utils.http.request(hostmeta_request)
except:
- raise FindActorException("Failed to get host-meta for %s" % instance)
+ # failed to GET hostmeta; this is an optional step for servers that do
+ # not host their webfinger at the usual URL (see WEBFINGER_TEMPLATE)
+ hostmeta = None
webfinger_url = None
- if hostmeta.code == 200:
+ if hostmeta and hostmeta.code == 200:
for item in hostmeta.soup().find_all("link"):
if item["rel"] and item["rel"][0] == "lrdd":
webfinger_url = item["template"]