X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=fba%2Fnetworks%2Flemmy.py;h=88e18e0acd56b78dcf319b8319d39f732d7005a4;hb=46181dfd9aeec4f1482bbb54b144f26ccbfa73c5;hp=f589664620d7568ed220102a7c90fec54e7412e0;hpb=323bc106bb37febb52eeb87c2eaca720d3dc1d53;p=fba.git diff --git a/fba/networks/lemmy.py b/fba/networks/lemmy.py index f589664..88e18e0 100644 --- a/fba/networks/lemmy.py +++ b/fba/networks/lemmy.py @@ -68,10 +68,11 @@ def fetch_peers(domain: str, origin: str) -> list: logger.debug("Found federated_instances for domain='%s'", domain) peers = peers + federation.add_peers(data["json"]["federated_instances"]) - logger.debug("Marking domain='%s' as successfully handled ...") + logger.debug("Marking domain='%s' as successfully handled ...", domain) instances.set_success(domain) - else: - logger.warning("JSON response does not contain 'federated_instances', domain='%s' - trying /instances ...", domain) + + if len(peers) == 0: + logger.warning("Fetching instances for domain='%s' from /instances ...", domain) peers = fetch_instances(domain, origin) except network.exceptions as exception: @@ -153,6 +154,9 @@ def fetch_blocks(domain: str, nodeinfo_url: str) -> list: if content is None: logger.debug("domain='%s' has returned empty header='%s' - SKIPPED!", domain, header) continue + elif not isinstance(content, str): + logger.debug("content[]='%s' is not supported/wanted type 'str' - SKIPPED!", type(content)) + continue elif content.lower() in translations: logger.debug("Found header with blocked instances - BREAK!") found = header @@ -170,11 +174,14 @@ def fetch_blocks(domain: str, nodeinfo_url: str) -> list: blocked = tidyup.domain(tag.contents[0]) logger.debug("blocked='%s'", blocked) - if not utils.is_domain_wanted(blocked): + if blocked == "": + logger.warning("blocked='%s' is empty after tidyup.domain() - SKIPPED!", tag.contents[0]) + continue + elif not utils.is_domain_wanted(blocked): logger.debug("blocked='%s' is not wanted - SKIPPED!", blocked) continue - logger.debug("Appending blocker='%s',blocked='%s',block_level='reject'", domain, blocked) + logger.debug("Appending blocker='%s',blocked='%s',block_level='reject' ...", domain, blocked) blocklist.append({ "blocker" : domain, "blocked" : blocked, @@ -238,7 +245,7 @@ def fetch_instances(domain: str, origin: str) -> list: logger.debug("Appending peer='%s' ...", peer) peers.append(peer) - logger.debug("Marking domain='%s' as successfully handled ...") + logger.debug("Marking domain='%s' as successfully handled ...", domain) instances.set_success(domain) except network.exceptions as exception: