diff options
| author | 2020-03-08 18:43:49 +0000 | |
|---|---|---|
| committer | 2020-03-08 18:43:49 +0000 | |
| commit | 142d1810487ca667d00b1c88bd2181eece7026e7 (patch) | |
| tree | 4e216c303d545fba2ea51b09a87ec399ec7f22a4 /modules | |
| parent | check 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.py | 10 |
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"] |
