From be1776f328fb79bee7e8cad397d21dc763358be8 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Roland=20H=C3=A4der?= Date: Sun, 1 Jun 2025 06:54:59 +0200 Subject: [PATCH] Continued: - skip empty 'host' rows, might happen with misskey or peertube - added 'cafkoma' as pleroma alias --- fba/commands.py | 3 +++ fba/helpers/software.py | 1 + fba/networks/misskey.py | 9 ++++++--- fba/networks/peertube.py | 7 +++++-- 4 files changed, 15 insertions(+), 5 deletions(-) diff --git a/fba/commands.py b/fba/commands.py index ae29f0c..9dc0d2c 100644 --- a/fba/commands.py +++ b/fba/commands.py @@ -1272,6 +1272,9 @@ def fetch_joinmobilizon(args: argparse.Namespace) -> int: if "host" not in row: logger.warning("row='%s' does not contain key 'host' - SKIPPED!", row) continue + elif row["host"] in [None, ""]: + logger.warning("row[host]='%s' is empty,source_domain='%s' - SKIPPED!", row["host"], source_domain) + continue elif not domain_helper.is_wanted(row["host"]): logger.debug("row[host]='%s' is not wanted - SKIPPED!", row["host"]) continue diff --git a/fba/helpers/software.py b/fba/helpers/software.py index 2aadba9..a2ad615 100644 --- a/fba/helpers/software.py +++ b/fba/helpers/software.py @@ -99,6 +99,7 @@ _pleroma_aliases = [ "menzoberranzan", "moon-eyed", "puppyoma", + "cafkoma", ] logging.basicConfig(level=logging.INFO) diff --git a/fba/networks/misskey.py b/fba/networks/misskey.py index 33563c0..4ba88fd 100644 --- a/fba/networks/misskey.py +++ b/fba/networks/misskey.py @@ -110,16 +110,19 @@ def fetch_peers(domain: str) -> list: logger.warning("row()=%d does not contain key 'host': row='%s',domain='%s' - SKIPPED!", len(row), row, domain) continue elif not isinstance(row["host"], str): - logger.warning("row[host][]='%s' has not expected type 'str' - SKIPPED!", type(row['host'])) + logger.warning("row[host][]='%s' has not expected type 'str' - SKIPPED!", type(row["host"])) + continue + elif row["host"] in [None, ""]: + logger.warning("row[host]='%s' is empty,domain='%s' - SKIPPED!", row["host"], domain) continue elif row["host"] in peers: - logger.debug("Not adding row[host]='%s', already found - SKIPPED!", row['host']) + logger.debug("Not adding row[host]='%s', already found - SKIPPED!", row["host"]) continue elif not domain_helper.is_wanted(row["host"]): logger.debug("row[host]='%s' is not wanted - SKIPPED!", row["host"]) continue - logger.debug("Adding peer: row[host]='%s'", row['host']) + logger.debug("Adding peer: row[host]='%s'", row["host"]) added = added + 1 peers.append(row["host"]) diff --git a/fba/networks/peertube.py b/fba/networks/peertube.py index 33f0730..06dafbd 100644 --- a/fba/networks/peertube.py +++ b/fba/networks/peertube.py @@ -71,10 +71,13 @@ def fetch_peers(domain: str) -> list: for mode2 in ["follower", "following"]: logger.debug("mode=%s,mode2='%s'", mode, mode2) if mode2 not in record: - logger.debug("Array record does not contain element mode2='%s' - SKIPPED!", mode2) + logger.warning("Array record does not contain element mode2='%s' - SKIPPED!", mode2) continue elif "host" not in record[mode2]: - logger.debug("record[%s] does not contain element 'host' - SKIPPED!", mode2) + logger.warning("record[%s] does not contain element 'host' - SKIPPED!", mode2) + continue + elif record[mode2]["host"] in [None, ""]: + logger.warning("record[%s][host]='%s' is empty - SKIPPED!", mode2, record[mode2]["host"]) continue elif record[mode2]["host"] == domain: logger.debug("record[%s]='%s' matches domain='%s' - SKIPPED!", mode2, record[mode2]["host"], domain) -- 2.39.5