From: Roland Häder Date: Fri, 10 Jan 2025 07:36:37 +0000 (+0100) Subject: Continued: X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=da3b7dfe77e5489a252aa93075129cf54c630f0a;p=fba.git Continued: - moved alias_block_level() to new fba/helpers/blocks.py --- diff --git a/fba/commands.py b/fba/commands.py index f8dcd74..1f1b7e4 100644 --- a/fba/commands.py +++ b/fba/commands.py @@ -35,6 +35,7 @@ from fba import utils from fba.helpers import blacklist from fba.helpers import blocklists +from fba.helpers import blocks as blocks_helper from fba.helpers import config from fba.helpers import cookies from fba.helpers import dicts as dict_helper @@ -452,8 +453,8 @@ def fetch_blocks(args: argparse.Namespace) -> int: logger.info("Fetching new instance block[blocked]'%s' for blocker='%s' ...", block["blocked"], blocker) federation.fetch_instances(block["blocked"], blocker, None, inspect.currentframe().f_code.co_name) - logger.debug("Invoking blocks.alias_block_level('%s') ... - BEFORE!", block["block_level"]) - block["block_level"] = blocks.alias_block_level(block["block_level"]) + logger.debug("Invoking blocks_helper.alias_block_level('%s') ... - BEFORE!", block["block_level"]) + block["block_level"] = blocks_helper.alias_block_level(block["block_level"]) logger.debug("block[block_level]='%s' - AFTER!", block["block_level"]) if processing.block(blocker, block["blocked"], block["reason"], block["block_level"]) and block["block_level"] in ["rejected", "suspended"] and _bot_enabled: @@ -1444,7 +1445,7 @@ def recheck_obfuscation(args: argparse.Namespace) -> int: obfuscation.delete(block["blocked"]) logger.debug("block[block_level]='%s' - BEFORE!", block["block_level"]) - block["block_level"] = blocks.alias_block_level(block["block_level"]) + block["block_level"] = blocks_helper.alias_block_level(block["block_level"]) logger.debug("block[block_level]='%s' - AFTER!", block["block_level"]) if processing.block(row["domain"], blocked, block["reason"], block["block_level"]) and block["block_level"] in ["suspended", "rejected"] and _bot_enabled: diff --git a/fba/helpers/__init__.py b/fba/helpers/__init__.py index efcd204..687ff0f 100644 --- a/fba/helpers/__init__.py +++ b/fba/helpers/__init__.py @@ -16,6 +16,7 @@ __all__ = [ 'blacklist', 'blocklists', + 'blocks', 'cache', 'config', 'cookies', diff --git a/fba/helpers/blocks.py b/fba/helpers/blocks.py new file mode 100644 index 0000000..d9e610c --- /dev/null +++ b/fba/helpers/blocks.py @@ -0,0 +1,50 @@ +# Fedi API Block - An aggregator for fetching blocking data from fediverse nodes +# Copyright (C) 2023 Free Software Foundation +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published +# by the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . + +import logging + +from functools import lru_cache + +logging.basicConfig(level=logging.INFO) +logger = logging.getLogger(__name__) +#logger.setLevel(logging.DEBUG) + +@lru_cache +def alias_block_level(block_level: str) -> str: + logger.debug("block_level='%s' - CALLED!", block_level) + + if not isinstance(block_level, str): + raise ValueError(f"Parameter block_level[]='{type(block_level)}' is not of type 'str'") + elif block_level in ["accept", "accepted"]: + raise ValueError(f"Parameter block_level='{block_level}' is 'accept(ed)' but function was invoked") + elif block_level == "silence": + logger.debug("Block level 'silence' has been changed to 'silenced'") + block_level = "silenced" + elif block_level == "suspend": + logger.debug("Block level 'suspend' has been changed to 'suspended'") + block_level = "suspended" + elif block_level == "reject": + logger.debug("Block level 'reject' has been changed to 'rejected'") + block_level = "rejected" + elif block_level == "nsfw": + logger.debug("Block level 'nsfw' has been changed to 'media_nsfw'") + block_level = "media_nsfw" + elif block_level == "quarantined_instances": + logger.debug("Block level 'quarantined_instances' has been changed to 'quarantined'") + block_level = "quarantined" + + logger.debug("block_level='%s' - EXIT!", block_level) + return block_level diff --git a/fba/helpers/processing.py b/fba/helpers/processing.py index 463978b..b1f9a8e 100644 --- a/fba/helpers/processing.py +++ b/fba/helpers/processing.py @@ -23,6 +23,7 @@ from fba import utils from fba.helpers import blacklist from fba.helpers import blocklists +from fba.helpers import blocks as blocks_helper from fba.helpers import config from fba.helpers import domain as domain_helper from fba.helpers import tidyup @@ -182,9 +183,9 @@ def csv_block(blocker: str, url: str, command: str) -> None: continue if "#severity" in row: - severity = blocks.alias_block_level(row["#severity"]) + severity = blocks_helper.alias_block_level(row["#severity"]) elif "severity" in row: - severity = blocks.alias_block_level(row["severity"]) + severity = blocks_helper.alias_block_level(row["severity"]) else: logger.debug("row='%s' does not contain severity column, setting 'reject'", row) severity = "rejected" diff --git a/fba/http/federation.py b/fba/http/federation.py index c24ca63..dad20a8 100644 --- a/fba/http/federation.py +++ b/fba/http/federation.py @@ -22,6 +22,7 @@ import requests import validators from fba.helpers import blacklist +from fba.helpers import blocks as blocks_helper from fba.helpers import config from fba.helpers import cookies from fba.helpers import domain as domain_helper @@ -667,7 +668,7 @@ def fetch_blocks(domain: str) -> list: "blocked" : block["domain"], "digest" : block["digest"] if "digest" in block else None, "reason" : reason, - "block_level": blocks.alias_block_level(block["severity"]), + "block_level": blocks_helper.alias_block_level(block["severity"]), }) else: logger.debug("domain='%s' has no block list", domain) diff --git a/fba/models/blocks.py b/fba/models/blocks.py index 2ad3fd6..0728e59 100644 --- a/fba/models/blocks.py +++ b/fba/models/blocks.py @@ -26,6 +26,7 @@ from fba.helpers import tidyup logging.basicConfig(level=logging.INFO) logger = logging.getLogger(__name__) +#logger.setLevel(logging.DEBUG) def get_reason(blocker: str, blocked: str, block_level: str) -> str: logger.debug("blocker='%s',blocked='%s',block_level='%s' - CALLED!", blocker, blocked, block_level) @@ -250,32 +251,6 @@ def translate_idnas(rows: list, column: str) -> None: logger.debug("EXIT!") -def alias_block_level(block_level: str) -> str: - logger.debug("block_level='%s' - CALLED!", block_level) - - if not isinstance(block_level, str): - raise ValueError(f"Parameter block_level[]='{type(block_level)}' is not of type 'str'") - elif block_level in ["accept", "accepted"]: - raise ValueError(f"Parameter block_level='{block_level}' is 'accept(ed)' but function was invoked") - elif block_level == "silence": - logger.debug("Block level 'silence' has been changed to 'silenced'") - block_level = "silenced" - elif block_level == "suspend": - logger.debug("Block level 'suspend' has been changed to 'suspended'") - block_level = "suspended" - elif block_level == "reject": - logger.debug("Block level 'reject' has been changed to 'rejected'") - block_level = "rejected" - elif block_level == "nsfw": - logger.debug("Block level 'nsfw' has been changed to 'media_nsfw'") - block_level = "media_nsfw" - elif block_level == "quarantined_instances": - logger.debug("Block level 'quarantined_instances' has been changed to 'quarantined'") - block_level = "quarantined" - - logger.debug("block_level='%s' - EXIT!", block_level) - return block_level - def delete(domain: str) -> None: logger.debug("domain='%s' - CALLED!", domain) domain_helper.raise_on(domain) diff --git a/fba/models/error_log.py b/fba/models/error_log.py index 2e99161..f002b1b 100644 --- a/fba/models/error_log.py +++ b/fba/models/error_log.py @@ -25,6 +25,7 @@ from fba.helpers import domain as domain_helper logging.basicConfig(level=logging.INFO) logger = logging.getLogger(__name__) +#logger.setLevel(logging.DEBUG) def add(domain: str, error: dict) -> None: logger.debug("domain='%s',error[]='%s' - CALLED!", domain, type(error)) diff --git a/fba/models/obfuscation.py b/fba/models/obfuscation.py index 1db0815..c8d9e29 100644 --- a/fba/models/obfuscation.py +++ b/fba/models/obfuscation.py @@ -22,6 +22,7 @@ from fba import database logging.basicConfig(level=logging.INFO) logger = logging.getLogger(__name__) +#logger.setLevel(logging.DEBUG) def is_added(pattern: str) -> bool: logger.debug("pattern='%s' - CALLED!", pattern) diff --git a/fba/models/sources.py b/fba/models/sources.py index 83a1b3c..fa635f3 100644 --- a/fba/models/sources.py +++ b/fba/models/sources.py @@ -25,6 +25,7 @@ from fba.helpers import domain as domain_helper logging.basicConfig(level=logging.INFO) logger = logging.getLogger(__name__) +#logger.setLevel(logging.DEBUG) def fetch (source_domain: str) -> dict: logger.debug("source_domain='%s' - CALLED!", source_domain) diff --git a/fba/networks/mastodon.py b/fba/networks/mastodon.py index dddc7dd..df4ba92 100644 --- a/fba/networks/mastodon.py +++ b/fba/networks/mastodon.py @@ -20,6 +20,7 @@ import validators import bs4 from fba.helpers import blacklist +from fba.helpers import blocks as blocks_helper from fba.helpers import config from fba.helpers import domain as domain_helper from fba.helpers import tidyup @@ -202,7 +203,7 @@ def fetch_blocks(domain: str) -> list: "blocked" : block["domain"], "digest" : block["digest"] if "digest" in block else None, "reason" : reason, - "block_level": blocks.alias_block_level(block_level), + "block_level": blocks_helper.alias_block_level(block_level), }) else: logger.debug("domain='%s' has no block list", domain) diff --git a/fba/networks/pleroma.py b/fba/networks/pleroma.py index 3938e53..024a4f5 100644 --- a/fba/networks/pleroma.py +++ b/fba/networks/pleroma.py @@ -22,6 +22,7 @@ import validators from fba import database from fba.helpers import blacklist +from fba.helpers import blocks as blocks_helper from fba.helpers import config from fba.helpers import domain as domain_helper from fba.helpers import tidyup @@ -116,7 +117,7 @@ def fetch_blocks(domain: str) -> list: logger.debug("domain='%s' skipping block_level='accept'", domain) continue - block_level = blocks.alias_block_level(block_level) + block_level = blocks_helper.alias_block_level(block_level) logger.debug("Checking %d entries from domain='%s',block_level='%s' ...", len(blocklist), domain, block_level) for blocked in blocklist: @@ -198,7 +199,7 @@ def fetch_blocks(domain: str) -> list: logger.debug("domain='%s': Skipping block_level='%s' ...", domain, block_level) continue - block_level = blocks.alias_block_level(block_level) + block_level = blocks_helper.alias_block_level(block_level) logger.debug("Checking %d entries from domain='%s',block_level='%s' ...", len(info.items()), domain, block_level) for blocked, reason in info.items():