- for block in rows:
- # Check type
- logger.debug("block[]='%s'", type(block))
- if not isinstance(block, dict):
- logger.debug("block[]='%s' is of type 'dict' - SKIPPED!", type(block))
- continue
- elif "domain" not in block:
- logger.debug("block='%s'", block)
- logger.warning("block()=%d does not contain element 'domain' - SKIPPED!", len(block))
- continue
- elif not domain_helper.is_wanted(block["domain"]):
- logger.debug("block[domain]='%s' is not wanted - SKIPPED!", block["domain"])
- continue
- elif "severity" not in block:
- logger.warning("block()=%d does not contain element 'severity' - SKIPPED!", len(block))
- continue
- 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"]):
- logger.warning("block[domain]='%s' has invalid block[digest]='%s' - SKIPPED!", block["domain"], block["digest"])
- continue
-
- reason = tidyup.reason(block["comment"]) if "comment" in block and block["comment"] is not None and block["comment"] != "" else None
-
- logger.debug("Appending blocker='%s',blocked='%s',reason='%s',block_level='%s' ...", domain, block["domain"], reason, block["severity"])
- blocklist.append({
- "blocker" : domain,
- "blocked" : block["domain"],
- "digest" : block["digest"] if "digest" in block else None,
- "reason" : reason,
- "block_level": blocks.alias_block_level(block["severity"]),
- })
+ for block_level in rows:
+ blocklists = rows[block_level]
+
+ logger.debug("block_level='%s',blocklists()=%d", block_level, len(blocklists))
+ for block in blocklists:
+ # Check type
+ if not isinstance(block, dict):
+ logger.debug("block[]='%s' is of type 'dict' - SKIPPED!", type(block))
+ continue
+ elif "domain" not in block:
+ logger.debug("block='%s'", block)
+ logger.warning("block()=%d does not contain element 'domain' - SKIPPED!", len(block))
+ continue
+ elif not domain_helper.is_wanted(block["domain"]):
+ logger.debug("block[domain]='%s' is not wanted - SKIPPED!", block["domain"])
+ continue
+ elif block_level in ["accept", "accepted"]:
+ logger.debug("block[domain]='%s' has unwanted severity level '%s' - SKIPPED!", block["domain"], block_level)
+ continue
+ elif "digest" in block and not validators.hashes.sha256(block["digest"]):
+ logger.warning("block[domain]='%s' has invalid block[digest]='%s' - SKIPPED!", block["domain"], block["digest"])
+ continue
+
+ reason = tidyup.reason(block["reason"]) if "reason" in block and block["reason"] is not None and block["reason"] != "" else None
+
+ logger.debug("Appending blocker='%s',blocked='%s',reason='%s',block_level='%s' ...", domain, block["domain"], reason, block_level)
+ blocklist.append({
+ "blocker" : domain,
+ "blocked" : block["domain"],
+ "digest" : block["digest"] if "digest" in block else None,
+ "reason" : reason,
+ "block_level": blocks.alias_block_level(block_level),
+ })