From 83221197504d58ff4bffb3c6ec880a5e17697203 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Roland=20H=C3=A4der?= Date: Fri, 23 Jun 2023 00:32:33 +0200 Subject: [PATCH] Continued: - mapped 'suspended' to 'suspend' - mapped 'silenced' to 'silence' - deny 'suspended'/'silenced' in blocks model functions --- fba/models/blocks.py | 10 +++++----- fba/networks/misskey.py | 2 +- fba/networks/pleroma.py | 12 ++++++++++++ 3 files changed, 18 insertions(+), 6 deletions(-) diff --git a/fba/models/blocks.py b/fba/models/blocks.py index 6e6de83..589c6d1 100644 --- a/fba/models/blocks.py +++ b/fba/models/blocks.py @@ -47,8 +47,8 @@ def update_reason(reason: str, blocker: str, blocked: str, block_level: str): raise ValueError(f"Parameter block_level[]='{type(block_level)}' is not 'str'") elif block_level == "": raise ValueError("Parameter 'block_level' is empty") - elif block_level == "accept": - raise ValueError("Accepted domains are not wanted here") + elif block_level in ["accept", "suspended", "silenced"]: + raise ValueError(f"block_level='{block_level}' is not wanted.") logger.debug("Updating block reason='%s',blocker='%s',blocked='%s',block_level='%s'", reason, blocker, blocked, block_level) database.cursor.execute( @@ -81,7 +81,7 @@ def update_last_seen(blocker: str, blocked: str, block_level: str): raise ValueError(f"Parameter block_level[]='{type(block_level)}' is not 'str'") elif block_level == "": raise ValueError("Parameter 'block_level' is empty") - elif block_level == "accept": + elif block_level in ["accept", "suspended", "silenced"]: raise ValueError("Accepted domains are not wanted here") database.cursor.execute( @@ -113,7 +113,7 @@ def is_instance_blocked(blocker: str, blocked: str, block_level: str) -> bool: raise ValueError(f"Parameter block_level[]='{type(block_level)}' is not of type 'str'") elif block_level == "": raise ValueError("Parameter 'block_level' is empty") - elif block_level == "accept": + elif block_level in ["accept", "suspended", "silenced"]: raise ValueError("Accepted domains are not wanted here") database.cursor.execute( @@ -143,7 +143,7 @@ def add_instance(blocker: str, blocked: str, reason: str, block_level: str): raise Exception(f"blocker='{blocker}' is blacklisted but function invoked") elif blacklist.is_blacklisted(blocked): raise Exception(f"blocked='{blocked}' is blacklisted but function invoked") - elif block_level == "accept": + elif block_level in ["accept", "suspended", "silenced"]: raise ValueError("Accepted domains are not wanted here") if reason is not None: diff --git a/fba/networks/misskey.py b/fba/networks/misskey.py index 58612ae..6768e39 100644 --- a/fba/networks/misskey.py +++ b/fba/networks/misskey.py @@ -203,7 +203,7 @@ def fetch_blocks(domain: str) -> list: "blocker" : domain, "blocked" : tidyup.domain(instance["host"]), "reason" : None, - "block_level": "suspended", + "block_level": "suspend", }) logger.debug("count=%d", count) diff --git a/fba/networks/pleroma.py b/fba/networks/pleroma.py index 0d29604..cd3c2fc 100644 --- a/fba/networks/pleroma.py +++ b/fba/networks/pleroma.py @@ -95,6 +95,12 @@ def fetch_blocks(domain: str, nodeinfo_url: str) -> list: elif block_level == "accept": logger.debug("domain='%s' skipping block_level='accept'", domain) continue + elif block_level == "suspended": + logger.debug("domain='%s', mapping 'suspended' to 'suspend'", domain) + block_level = "suspend" + elif block_level == "silenced": + logger.debug("domain='%s', mapping 'silenced' to 'silence'", domain) + block_level = "silence" logger.debug("Checking %d entries from domain='%s',block_level='%s' ...", len(blocklist), domain, block_level) if len(blocklist) > 0: @@ -241,6 +247,12 @@ def fetch_blocks(domain: str, nodeinfo_url: str) -> list: elif block_level == "accept": logger.debug("domain='%s' skipping block_level='accept'", domain) continue + elif block_level == "suspended": + logger.debug("domain='%s', mapping 'suspended' to 'suspend'", domain) + block_level = "suspend" + elif block_level == "silenced": + logger.debug("domain='%s', mapping 'silenced' to 'silence'", domain) + block_level = "silence" logger.debug("Checking %d entries from domain='%s',block_level='%s' ...", len(info.items()), domain, block_level) for blocked, reason in info.items(): -- 2.39.5