From bb341b58f8d748ac34167565d0108ba877c45a25 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Roland=20H=C3=A4der?= Date: Sun, 12 Jan 2025 01:01:13 +0100 Subject: [PATCH] Continued: - added missing type 'bool' - improved/added debug lines --- fba/http/federation.py | 2 +- fba/models/instances.py | 16 ++++++++++------ fba/networks/friendica.py | 6 +++--- fba/networks/lemmy.py | 4 ++-- fba/networks/mastodon.py | 2 ++ fba/networks/misskey.py | 19 ++++++++++--------- fba/networks/peertube.py | 1 + fba/networks/pleroma.py | 1 + 8 files changed, 30 insertions(+), 21 deletions(-) diff --git a/fba/http/federation.py b/fba/http/federation.py index aa05e37..b4b629a 100644 --- a/fba/http/federation.py +++ b/fba/http/federation.py @@ -654,7 +654,7 @@ def fetch_blocks(domain: str) -> list: elif block["severity"] in ["accept", "accepted"]: logger.debug("block[domain]='%s' has unwanted severity level '%s' - SKIPPED!", block["domain"], block["severity"]) continue - elif "digest" in block and not validators.hashes.sha256(block["digest"]): + elif "digest" in block and not block["digest"] is None and not validators.hashes.sha256(block["digest"]): logger.warning("block[domain]='%s' has invalid block[digest]='%s' - SKIPPED!", block["domain"], block["digest"]) continue diff --git a/fba/models/instances.py b/fba/models/instances.py index d3cde89..38d28cb 100644 --- a/fba/models/instances.py +++ b/fba/models/instances.py @@ -311,7 +311,7 @@ def set_success(domain: str) -> None: logger.debug("EXIT!") -def is_registered(domain: str, skip_raise = False) -> bool: +def is_registered(domain: str, skip_raise: bool = False) -> bool: logger.debug("domain='%s',skip_raise='%s' - CALLED!", domain, skip_raise) domain_helper.raise_on(domain) @@ -360,12 +360,14 @@ def is_recent(domain: str, column: str = "last_instance_fetch") -> bool: # Fetch row row = database.cursor.fetchone() + logger.debug("row[%s]='%s'", type(row), row) fetched = float(row[column]) if row[column] is not None else 0.0 + logger.debug("fetched[%s]=%f", type(fetched), fetched) diff = (time.time() - fetched) - logger.debug("fetched[%s]='%s',key='%s',diff=%f", type(fetched), fetched, key, diff) + logger.debug("fetched[%s]=%f,key='%s',diff=%f", type(fetched), fetched, key, diff) recently = bool(diff < config.get(key)) logger.debug("recently='%s' - EXIT!", recently) @@ -374,12 +376,14 @@ def is_recent(domain: str, column: str = "last_instance_fetch") -> bool: def deobfuscate(char: str, domain: str, blocked_hash: str = None) -> tuple: logger.debug("char='%s',domain='%s',blocked_hash='%s' - CALLED!", char, domain, blocked_hash) - if not isinstance(domain, str): - raise ValueError(f"Parameter domain[]='{type(domain)}'") - elif not isinstance(char, str): + if not isinstance(char, str): raise ValueError(f"Parameter char[]='{type(char)}' is not of type 'str'") elif char == "": raise ValueError("Parameter 'char' is empty") + elif not isinstance(domain, str): + raise ValueError(f"Parameter domain[]='{type(domain)}'") + elif domain == "": + raise ValueError("Parameter 'domain' is empty") elif not char in domain: raise ValueError(f"char='{char}' not found in domain='{domain}' but function invoked") elif not isinstance(blocked_hash, str) and blocked_hash is not None: @@ -397,8 +401,8 @@ def deobfuscate(char: str, domain: str, blocked_hash: str = None) -> tuple: ) row = database.cursor.fetchone() - logger.debug("row[]='%s' - After quering database.", type(row)) + logger.debug("row[]='%s' - After quering database.", type(row)) if row is None: logger.debug("blocked_hash='%s' not found, trying domain='%s' ...", blocked_hash, domain) return deobfuscate(char, domain) diff --git a/fba/networks/friendica.py b/fba/networks/friendica.py index 2fd53b7..9329fe1 100644 --- a/fba/networks/friendica.py +++ b/fba/networks/friendica.py @@ -81,13 +81,13 @@ def fetch_blocks(domain: str) -> list: logger.debug("Found rows()=%d", len(rows)) for line in rows: - logger.debug("line='%s'", line) + logger.debug("line[%s]='%s'", type(line), line) blocked = line.find_all("td")[0].text reason = line.find_all("td")[1].text - logger.debug("blocked='%s',reason='%s' - BEFORE!", blocked, reason) + logger.debug("blocked='%s',reason='%s' - BEFORE!", blocked, reason) blocked = tidyup.domain(blocked) if blocked != "" else None - reason = tidyup.reason(reason) if reason != "" else None + reason = tidyup.reason(reason) if reason != "" else None logger.debug("blocked='%s',reason='%s' - AFTER!", blocked, reason) if blocked in [None, ""]: diff --git a/fba/networks/lemmy.py b/fba/networks/lemmy.py index 9fcfbfe..35ba0c3 100644 --- a/fba/networks/lemmy.py +++ b/fba/networks/lemmy.py @@ -97,7 +97,7 @@ def fetch_peers(domain: str, origin: str) -> list: data = network.get_json_api( domain, "/api/v3/site", - headers, + headers=headers, timeout=config.timeout ) @@ -268,7 +268,7 @@ def fetch_instances(domain: str, origin: str) -> list: logger.debug("Checking %d containers ...", len(containers)) for header in containers: logger.debug("header[%s]='%s'", type(header), header) - table = header.find_next(["ul","table"]) + table = header.find_next(["ul", "table"]) logger.debug("table[]='%s'", type(table)) if table is None: diff --git a/fba/networks/mastodon.py b/fba/networks/mastodon.py index dfa79be..d748db4 100644 --- a/fba/networks/mastodon.py +++ b/fba/networks/mastodon.py @@ -32,6 +32,7 @@ from fba.models import instances logging.basicConfig(level=logging.INFO) logger = logging.getLogger(__name__) +#logger.setLevel(logging.DEBUG) # Language mapping X -> English _language_mapping = { @@ -182,6 +183,7 @@ def fetch_blocks(domain: str) -> list: if len(rows) > 0: logger.debug("Checking %d entries from domain='%s' ...", len(rows), domain) for block_level in rows: + logger.debug("block_level='%s'", block_level) blocklists = rows[block_level] logger.debug("block_level='%s',blocklists()=%d", block_level, len(blocklists)) diff --git a/fba/networks/misskey.py b/fba/networks/misskey.py index dcaf1d5..a8bda4a 100644 --- a/fba/networks/misskey.py +++ b/fba/networks/misskey.py @@ -30,6 +30,7 @@ from fba.models import instances logging.basicConfig(level=logging.INFO) logger = logging.getLogger(__name__) +#logger.setLevel(logging.DEBUG) def fetch_peers(domain: str) -> list: logger.debug("domain='%s' - CALLED!", domain) @@ -94,9 +95,9 @@ def fetch_peers(domain: str) -> list: if len(rows) == 0: logger.debug("Returned zero bytes, domain='%s' - BREAK!", domain) break - elif len(rows) != config.get("misskey_limit"): - logger.debug("Fetched %d row(s) but expected: %d", len(rows), config.get('misskey_limit')) - offset = offset + (config.get("misskey_limit") - len(rows)) + elif len(rows) != step: + logger.debug("Fetched %d row(s) but expected: %d", len(rows), step) + offset = offset + (step - len(rows)) else: logger.debug("Raising offset by step=%d", step) offset = offset + step @@ -197,9 +198,9 @@ def fetch_blocks(domain: str) -> list: if len(rows) == 0: logger.debug("Returned zero bytes, domain='%s' - BREAK!", domain) break - elif len(rows) != config.get("misskey_limit"): - logger.debug("Fetched %d row(s) but expected: %d", len(rows), config.get('misskey_limit')) - offset = offset + (config.get("misskey_limit") - len(rows)) + elif len(rows) != step: + logger.debug("Fetched %d row(s) but expected: %d", len(rows), step) + offset = offset + (step - len(rows)) else: logger.debug("Raising offset by step=%d", step) offset = offset + step @@ -285,9 +286,9 @@ def fetch_blocks(domain: str) -> list: if len(rows) == 0: logger.debug("Returned zero bytes, domain='%s' - BREAK!", domain) break - elif len(rows) != config.get("misskey_limit"): - logger.debug("Fetched %d row(s) but expected: %d'", len(rows), config.get('misskey_limit')) - offset = offset + (config.get("misskey_limit") - len(rows)) + elif len(rows) != step: + logger.debug("Fetched %d row(s) but expected: %d'", len(rows), step) + offset = offset + (step - len(rows)) else: logger.debug("Raising offset by step=%d", step) offset = offset + step diff --git a/fba/networks/peertube.py b/fba/networks/peertube.py index 4b5baf0..c0d88e4 100644 --- a/fba/networks/peertube.py +++ b/fba/networks/peertube.py @@ -26,6 +26,7 @@ from fba.models import instances logging.basicConfig(level=logging.INFO) logger = logging.getLogger(__name__) +#logger.setLevel(logging.DEBUG) def fetch_peers(domain: str) -> list: logger.debug("domain='%s' - CALLED!", domain) diff --git a/fba/networks/pleroma.py b/fba/networks/pleroma.py index 1abb751..8abb90d 100644 --- a/fba/networks/pleroma.py +++ b/fba/networks/pleroma.py @@ -35,6 +35,7 @@ from fba.models import instances logging.basicConfig(level=logging.INFO) logger = logging.getLogger(__name__) +#logger.setLevel(logging.DEBUG) # Language mapping X -> English language_mapping = { -- 2.39.5