switch incoming salmon/activitypub to overwrite Response

pull/27/head
Ryan Barrett 2017-10-12 23:13:54 -07:00
rodzic dce33bde16
commit a11d6745a9
3 zmienionych plików z 15 dodań i 3 usunięć

Wyświetl plik

@ -82,6 +82,12 @@ class Response(StringIdModel):
created = ndb.DateTimeProperty(auto_now_add=True)
updated = ndb.DateTimeProperty(auto_now=True)
def __init__(self, source=None, target=None, **kwargs):
if source and target:
assert 'id' not in kwargs
kwargs['id'] = self._id(source, target)
super(Response, self).__init__(**kwargs)
@classmethod
def get_or_create(cls, source=None, target=None, **kwargs):
return cls.get_or_insert(cls._id(source, target), **kwargs)

Wyświetl plik

@ -71,9 +71,8 @@ class SlapHandler(webapp2.RequestHandler):
# send webmentions!
errors = []
for target in targets:
response = Response.get_or_create(
source=source, target=target, direction='in', protocol='ostatus',
source_atom=data)
response = Response(source=source, target=target, direction='in',
protocol='ostatus', source_atom=data)
logging.info('Sending webmention from %s to %s', source, target)
wm = send.WebmentionSend(source, target)
if wm.send(headers=common.HEADERS):

Wyświetl plik

@ -39,6 +39,13 @@ class MagicKeyTest(testutil.TestCase):
class ResponseTest(testutil.TestCase):
def test_constructor(self):
resp = Response('abc', 'xyz')
self.assertEquals('abc xyz', resp.key.id())
resp = Response('abc#1', 'xyz#Z')
self.assertEquals('abc__1 xyz__Z', resp.key.id())
def test_get_or_create(self):
resp = Response.get_or_create('abc', 'xyz')
self.assertEquals('abc xyz', resp.key.id())