logger.debug("Setting last_blocked for blocker='%s' ...", blocker)
instances.set_last_blocked(blocker)
- domains = []
-
# Fetch this URL
logger.info("Fetching url='%s' for blocker='%s' ...", url, blocker)
response = network.fetch_url(
rows = list(reader)
# Init local variables
- blockdict = []
+ blockdict = domains = []
cnt = 0
logger.info("Checking %d CSV lines ...", len(rows))
domain = utils.deobfuscate(domain, blocker)
logger.debug("domain='%s' - AFTER!", domain)
- logger.debug("Marking domain='%s' as handled", domain)
+ logger.debug("Marking domain='%s' as handled ...", domain)
domains.append(domain)
if not validators.domain(domain, rfc_2782=True):
elif not instances.is_registered(domain):
raise Exception(f"domain='{domain}' is not registered but function is invoked")
- peers = []
# No CSRF by default, you don't have to add network.api_headers by yourself here
- headers = tuple()
+ headers = {}
+
+ # Init peer list
+ peers = []
try:
logger.debug("Checking CSRF for domain='%s' ...", domain)
logger.debug("domain='%s' has %d peer(s).", domain, len(peers))
for blocked in peers:
- logger.debug("Appending blocker='%s',blocked='%s',block_level='reject' ...", domain, blocked)
+ logger.debug("Appending domain='%s',blocked='%s',block_level='reject' ...", domain, blocked)
+ blocklist.append({
+ "blocker" : domain,
+ "blocked" : blocked,
+ "reason" : None,
+ "block_level": "rejected",
+ })
+ else:
+ logger.debug("Finding links in ul/table ...")
+ blocking = found.find_next(["ul", "table"]).findAll("a")
+
+ logger.debug("Found %d blocked instance(s) ...", len(blocking))
+ for tag in blocking:
+ logger.debug("tag[]='%s'", type(tag))
+ blocked = tidyup.domain(tag.contents[0]) if tag.contents[0] != "" else None
+ logger.debug("blocked='%s'", blocked)
+
+ if blocked in [None, ""]:
+ logger.debug("blocked[%s]='%s' is empty after tidyup.domain(): tag.contents[0]='%s' - SKIPPED!", type(blocked), blocked, tag.contents[0])
+ continue
+ elif not domain_helper.is_wanted(blocked):
+ logger.debug("blocked='%s' is not wanted - SKIPPED!", blocked)
+ continue
+
+ logger.debug("Appending domain='%s',blocked='%s',block_level='reject' ...", domain, blocked)
blocklist.append({
"blocker" : domain,
"blocked" : blocked,
"block_level": "rejected",
})
- logger.debug("blocklist()=%d - EXIT!", len(blocklist))
- return blocklist
-
- blocking = found.find_next(["ul", "table"]).findAll("a")
- logger.debug("Found %d blocked instance(s) ...", len(blocking))
- for tag in blocking:
- logger.debug("tag[]='%s'", type(tag))
- blocked = tidyup.domain(tag.contents[0]) if tag.contents[0] != "" else None
- logger.debug("blocked='%s'", blocked)
-
- if blocked in [None, ""]:
- logger.debug("blocked[%s]='%s' is empty after tidyup.domain(): tag.contents[0]='%s' - SKIPPED!", type(blocked), blocked, tag.contents[0])
- 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='reject' ...", domain, blocked)
- blocklist.append({
- "blocker" : domain,
- "blocked" : blocked,
- "reason" : None,
- "block_level": "rejected",
- })
+ logger.debug("blocklist()=%d - AFTER!", len(blocklist))
else:
logger.warning("Cannot fetch /instances due to error: response.ok='%s',response.status_code=%d,response.details='%s'", response.ok, response.status_code, response.reason)
instances.set_last_error(domain, response)