From a9b916975e4cf506684a1db4009f44e92c1879a4 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Roland=20H=C3=A4der?= Date: Wed, 28 May 2025 02:07:45 +0200 Subject: [PATCH] Continued: - fixed error "blocked undefined variable" - fixed no valid domain/hostname --- daemon.py | 6 ++++-- fba/networks/pleroma.py | 2 +- fba/utils.py | 10 +++++----- 3 files changed, 10 insertions(+), 8 deletions(-) diff --git a/daemon.py b/daemon.py index 994f33d..6ee5717 100755 --- a/daemon.py +++ b/daemon.py @@ -18,6 +18,7 @@ # along with this program. If not, see . import re +import validators from datetime import datetime from email.utils import format_datetime @@ -343,11 +344,12 @@ def nodeinfo_1_0(request: Request) -> None: @router.get(_base_url + "/api/v1/instance/domain_blocks", response_class=JSONResponse) def api_domain_blocks(request: Request) -> None: blocking = [] + blocked = blacklist.get_all() - for block in blacklist.get_all(): + for block in blocked: blocking.append({ "domain" : block, - "digest" : utils.hash_domain(block), + "digest" : utils.hash_domain(block) if validators.domain(block, rfc_2782=True) else None, "severity": "suspend", "comment" : blocked[block], }) diff --git a/fba/networks/pleroma.py b/fba/networks/pleroma.py index b336d92..1d24b27 100644 --- a/fba/networks/pleroma.py +++ b/fba/networks/pleroma.py @@ -109,7 +109,7 @@ def fetch_blocks(domain: str) -> list: block_level = tidyup.domain(block_level) if block_level != "" else None logger.debug("block_level='%s' - AFTER!", block_level) - if block_level == "": + if block_level in [None, ""]: logger.warning("block_level is now empty!") continue elif block_level == "accept": diff --git a/fba/utils.py b/fba/utils.py index 6ba7f4a..78c5ffa 100644 --- a/fba/utils.py +++ b/fba/utils.py @@ -58,17 +58,17 @@ def find_domains(tags: bs4.element.ResultSet, search: str) -> list: for tag in tags: logger.debug("tag[]='%s'", type(tag)) domain = tag.find(search).contents[0] + logger.debug("domain='%s' - BEFORE! #1", domain) - if domain not in ["", None]: - domain = tidyup.domain(domain) + domain = tidyup.domain(domain) if domain not in ["", None] else None logger.debug("domain='%s' - AFTER! #2", domain) - if domain == "": + if domain in [None, ""]: logger.debug("tag='%s' has no domain, trying ...", tag) domain = tag.find("em").contents[0] + logger.debug("domain='%s' - BEFORE! #2", domain) - if domain not in ["", None]: - domain = tidyup.domain(domain) + domain = tidyup.domain(domain) if domain not in ["", None] else None logger.debug("domain='%s' - AFTER! #2", domain) logger.debug("domain='%s' - AFTER2!", domain) -- 2.39.5