From: Roland Häder Date: Mon, 21 Apr 2025 01:33:07 +0000 (+0200) Subject: Continued: X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=522bc30492ed654b7db8aa399dda15629f76822d;p=fba.git Continued: - avoided yet another if() block while the else block contained a warning and used a `continue` instead for skipping non-existing headers --- diff --git a/fba/networks/mastodon.py b/fba/networks/mastodon.py index f4fb3f3..0e132fb 100644 --- a/fba/networks/mastodon.py +++ b/fba/networks/mastodon.py @@ -127,38 +127,39 @@ def fetch_blocks_from_about(domain: str) -> dict: logger.warning("header_text='%s' not found in language mapping table", header_text) logger.debug("header_text='%s' - AFTER!", header_text) - if header_text in blocklist: - # replaced find_next_siblings with find_all_next to account for instances that for example hide lists in dropdown menu - for line in header.find_all_next("table")[0].find_all("tr")[1:]: - domain = line.find("span").text - reason = line.find_all("td")[1].text - - logger.debug("domain='%s',reason='%s' - BEFORE!", domain, reason) - domain = tidyup.domain(domain) if domain != "" else None - reason = tidyup.reason(reason) if reason != "" else None - logger.debug("domain='%s',reason='%s' - AFTER!", domain, reason) - - digest = line.find("span")["title"][9:] - - logger.debug("digest='%s' - BEFORE!", digest) - if not validators.hashes.sha256(digest): - logger.warning("domain='%s' has invalid digest='%s' - Setting to None ...", domain, digest) - digest = None - logger.debug("digest='%s' - AFTER!", digest) - - logger.debug("domain[]='%s'", type(domain)) - if domain in [None, ""]: - logger.warning("domain='%s' is empty,line='%s' - SKIPPED!", domain, line) - continue - - logger.debug("Appending domain='%s',digest='%s',reason='%s' to blocklist header_text='%s' ...", domain, digest, reason, header_text) - blocklist[header_text].append({ - "domain": domain, - "digest": digest, - "reason": reason, - }) - else: - logger.warning("header_text='%s' not found in blocklist()=%d", header_text, len(blocklist)) + if header_text not in blocklist: + logger.warning("header_text='%s' not found in blocklist()=%d - SKIPPED!", header_text, len(blocklist)) + continue + + # replaced find_next_siblings with find_all_next to account for instances that for example hide lists in dropdown menu + for line in header.find_all_next("table")[0].find_all("tr")[1:]: + domain = line.find("span").text + reason = line.find_all("td")[1].text + + logger.debug("domain='%s',reason='%s' - BEFORE!", domain, reason) + domain = tidyup.domain(domain) if domain != "" else None + reason = tidyup.reason(reason) if reason != "" else None + logger.debug("domain='%s',reason='%s' - AFTER!", domain, reason) + + digest = line.find("span")["title"][9:] + + logger.debug("digest='%s' - BEFORE!", digest) + if not validators.hashes.sha256(digest): + logger.warning("domain='%s' has invalid digest='%s' - Setting to None ...", domain, digest) + digest = None + logger.debug("digest='%s' - AFTER!", digest) + + logger.debug("domain[]='%s'", type(domain)) + if domain in [None, ""]: + logger.warning("domain='%s' is empty,line='%s' - SKIPPED!", domain, line) + continue + + logger.debug("Appending domain='%s',digest='%s',reason='%s' to blocklist header_text='%s' ...", domain, digest, reason, header_text) + blocklist[header_text].append({ + "domain": domain, + "digest": digest, + "reason": reason, + }) logger.debug("Returning blocklist for domain='%s' - EXIT!", domain) return {