Skip to content

Commit f2e7eff

Browse files
committed
Merge pull request #9 from snarfed/master
add endpoint kwarg to WebmentionSend ctor
2 parents d3d4210 + f548d60 commit f2e7eff

File tree

1 file changed

+7
-8
lines changed

1 file changed

+7
-8
lines changed

webmentiontools/send.py

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -11,16 +11,17 @@ class WebmentionSend():
1111
LINK_HEADER_RE = re.compile(
1212
r'''<([^>]+)>; rel=["'](http://)?webmention(\.org/?)?["']''')
1313

14-
def __init__(self, source, target):
14+
def __init__(self, source, target, endpoint=None):
1515
self.source_url = source
1616
self.target_url = target
17-
self.receiver_endpoint = None
17+
self.receiver_endpoint = endpoint
1818

1919
def send(self, **kwargs):
2020
self.error = None
2121
self.requests_kwargs = kwargs
22-
r = self._discoverEndpoint()
23-
if not r:
22+
if not self.receiver_endpoint:
23+
self._discoverEndpoint()
24+
if not self.receiver_endpoint:
2425
return False
2526
return self._notifyReceiver()
2627

@@ -33,7 +34,7 @@ def _discoverEndpoint(self):
3334
'request': 'GET %s' % self.target_url,
3435
'http_status': r.status_code,
3536
}
36-
return False
37+
return
3738

3839
# look in the headers
3940
# XXX: it looks like requests doesn't handle multiple headers with the
@@ -43,7 +44,7 @@ def _discoverEndpoint(self):
4344
match = self.LINK_HEADER_RE.search(link)
4445
if match:
4546
self.receiver_endpoint = match.group(1)
46-
return True
47+
return
4748

4849
# look in the content
4950
html = r.text
@@ -56,13 +57,11 @@ def _discoverEndpoint(self):
5657
if tag and tag['href']:
5758
# add the base scheme and host to relative endpoints
5859
self.receiver_endpoint = urlparse.urljoin(self.target_url, tag['href'])
59-
return True
6060
else:
6161
self.error = {
6262
'code': 'NO_ENDPOINT',
6363
'error_description': 'Unable to discover webmention endpoint.'
6464
}
65-
return False
6665

6766
def _notifyReceiver(self):
6867
payload = {'source': self.source_url, 'target': self.target_url}

0 commit comments

Comments
 (0)