]> git.mxchange.org Git - fba.git/blobdiff - fba/networks/pleroma.py
Continued:
[fba.git] / fba / networks / pleroma.py
index 3b580560cba02ddf154c3b5dae1ad95f30d4fc67..a78ead4736f343030510bedbeede5f087246f7ca 100644 (file)
@@ -17,6 +17,7 @@
 import logging
 
 import bs4
+import validators
 
 from fba import database
 from fba import utils
@@ -124,46 +125,49 @@ def fetch_blocks(domain: str) -> list:
             block_level = blocks.alias_block_level(block_level)
 
             logger.debug("Checking %d entries from domain='%s',block_level='%s' ...", len(blocklist), domain, block_level)
-            if len(blocklist) > 0:
-                for blocked in blocklist:
-                    logger.debug("blocked='%s' - BEFORE!", blocked)
-                    blocked = tidyup.domain(blocked) if blocked != "" else None
-                    logger.debug("blocked='%s' - AFTER!", blocked)
-
-                    if blocked is None or blocked == "":
-                        logger.warning("blocked='%s' is empty after tidyup.domain(): domain='%s',block_level='%s' - SKIPPED!", blocked, domain, block_level)
-                        continue
-
-                    logger.debug("Invoking utils.deobfuscate(%s, %s) ...", blocked, domain)
-                    blocked = utils.deobfuscate(blocked, domain)
-
-                    logger.debug("blocked='%s' - DEOBFUSCATED!", blocked)
-                    if blocked is None or blocked == "":
-                        logger.warning("instance[host]='%s' is None or empty after tidyup.domain() - SKIPPED!", instance["host"])
-                        continue
-                    elif not domain_helper.is_wanted(blocked):
-                        logger.debug("blocked='%s' is not wanted - SKIPPED!", blocked)
-                        continue
-
-                    logger.debug("Appending blocker='%s',blocked='%s',block_level='%s' ...", domain, blocked, block_level)
-                    blockdict.append({
-                        "blocker"    : domain,
-                        "blocked"    : blocked,
-                        "reason"     : None,
-                        "block_level": block_level,
-                    })
+            for blocked in blocklist:
+                logger.debug("blocked='%s' - BEFORE!", blocked)
+                blocked = tidyup.domain(blocked) if blocked != "" else None
+                logger.debug("blocked='%s' - AFTER!", blocked)
+
+                if blocked in [None, ""]:
+                    logger.warning("blocked='%s' is empty after tidyup.domain(): domain='%s',block_level='%s' - SKIPPED!", blocked, domain, block_level)
+                    continue
+                elif validators.domain(blocked) and blacklist.is_blacklisted(blocked):
+                    logger.debug("blocked='%s' is blacklisted - SKIPPED!")
+                    continue
+
+                logger.debug("Invoking utils.deobfuscate(%s, %s) ...", blocked, domain)
+                blocked = utils.deobfuscate(blocked, domain)
+                logger.debug("blocked='%s' - DEOBFUSCATED!", blocked)
+
+                if blocked in [None, ""]:
+                    logger.warning("instance[host]='%s' is None or empty after tidyup.domain() - SKIPPED!", instance["host"])
+                    continue
+                elif not domain_helper.is_wanted(blocked):
+                    logger.debug("blocked='%s' is not wanted - SKIPPED!", blocked)
+                    continue
+
+                logger.debug("Appending blocker='%s',blocked='%s',block_level='%s' ...", domain, blocked, block_level)
+                blockdict.append({
+                    "blocker"    : domain,
+                    "blocked"    : blocked,
+                    "reason"     : None,
+                    "block_level": block_level,
+                })
 
     elif "quarantined_instances" in data:
         logger.debug("Found 'quarantined_instances' in JSON response: domain='%s'", domain)
         found = True
         block_level = "quarantined"
 
+        logger.debug("Checking %d quarantined instance(s) ...", len(data["quarantined_instances"]))
         for blocked in data["quarantined_instances"]:
             logger.debug("blocked='%s' - BEFORE!", blocked)
             blocked = tidyup.domain(blocked) if blocked != "" else None
 
             logger.debug("blocked='%s' - AFTER!", blocked)
-            if blocked is None or blocked == "":
+            if blocked in [None, ""]:
                 logger.warning("blocked is empty after tidyup.domain(): domain='%s',block_level='%s'", domain, block_level)
                 continue
             elif not domain_helper.is_wanted(blocked):
@@ -198,11 +202,8 @@ 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 is None:
-                logger.warning("block_level is now None!")
-                continue
-            elif block_level == "":
-                logger.warning("block_level is now empty!")
+            if block_level in [None, ""]:
+                logger.warning("block_level='%s' is now empty!", block_level)
                 continue
             elif block_level == "accept":
                 logger.debug("domain='%s': Skipping block_level='%s' ...", domain, block_level)
@@ -258,7 +259,7 @@ def fetch_blocks(domain: str) -> list:
                 logger.warning("blocked is empty after tidyup.domain(): domain='%s',block_level='%s'", domain, block_level)
                 continue
 
-            logger.debug("Checking %d blockdict records ...", len(blockdict))
+            logger.debug("Checking %d blockdict record(s) ...", len(blockdict))
             for block in blockdict:
                 logger.debug("block[blocked]='%s',blocked='%s'", block["blocked"], blocked)
                 if block["blocked"] == blocked:
@@ -273,7 +274,7 @@ def fetch_blocks(domain: str) -> list:
 
         logger.debug("blocklist()=%d", len(blocklist))
         if len(blocklist) > 0:
-            logger.info("Checking %d different blocklists ...", len(blocklist))
+            logger.info("Checking %d different blocklist(s) ...", len(blocklist))
             for block_level in blocklist:
                 logger.debug("block_level='%s'", block_level)
                 rows = blocklist[block_level]