Web: don't subscribe to Superfeedr if user has webfinger redirects

for #550
pull/746/head
Ryan Barrett 2023-12-05 09:28:19 -08:00
rodzic 9a088f5b7f
commit b7129703cd
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: 6BE31FDF4776E9D4
2 zmienionych plików z 6 dodań i 2 usunięć

Wyświetl plik

@ -516,6 +516,8 @@ class WebTest(TestCase):
def test_get_or_create_subscribes_superfeedr(self, mock_get, mock_post):
self.user.obj.mf2 = ACTOR_MF2_REL_FEED_URL
self.user.obj.put()
self.user.has_redirects = False
self.user.put()
user = Web.get_or_create('user.com')
self.assertEqual('user.com', user.key.id())
@ -1863,6 +1865,8 @@ class WebTest(TestCase):
self.assertIsNone(self.user.superfeedr_subscribed)
self.user.obj.mf2 = ACTOR_MF2_REL_FEED_URL
self.user.has_redirects = False
# https://documentation.superfeedr.com/schema.html#entries
mock_post.return_value = requests_response(f"""\
<?xml version="1.0" encoding="UTF-8"?>

4
web.py
Wyświetl plik

@ -609,8 +609,8 @@ def maybe_superfeedr_subscribe(user):
if user.superfeedr_subscribed:
logger.info(f'User {user.key.id()} already subscribed via Superfeedr')
return
elif user.last_webmention_in:
logger.info(f'User {user.key.id()} publishes via webmention, not subscribing via Superfeedr')
elif user.has_redirects or user.last_webmention_in:
logger.info(f'User {user.key.id()} has Webfinger redirects or publishes via webmention, not subscribing via Superfeedr')
return
elif not user.obj or not user.obj.mf2:
logger.info(f"User {user.key.id()} has no mf2, can't subscribe via Superfeedr")