elif "federated_instances" in data["json"] and isinstance(data["json"]["federated_instances"], dict):
logger.debug("Found federated_instances for domain='%s'", domain)
peers = peers + federation.add_peers(data["json"]["federated_instances"])
+
+ logger.debug("Marking domain='%s' as successfully handled ...", domain)
instances.set_success(domain)
- else:
- logger.warning("JSON response does not contain 'federated_instances', domain='%s' - trying /instances ...", domain)
+
+ if len(peers) == 0:
+ logger.warning("Fetching instances for domain='%s' from /instances ...", domain)
peers = fetch_instances(domain, origin)
except network.exceptions as exception:
if content is None:
logger.debug("domain='%s' has returned empty header='%s' - SKIPPED!", domain, header)
continue
+ elif not isinstance(content, str):
+ logger.debug("content[]='%s' is not supported/wanted type 'str' - SKIPPED!", type(content))
+ continue
elif content.lower() in translations:
logger.debug("Found header with blocked instances - BREAK!")
found = header
blocked = tidyup.domain(tag.contents[0])
logger.debug("blocked='%s'", blocked)
- if not utils.is_domain_wanted(blocked):
+ if blocked == "":
+ logger.warning("blocked='%s' is empty after tidyup.domain() - SKIPPED!", tag.contents[0])
+ continue
+ elif not utils.is_domain_wanted(blocked):
logger.debug("blocked='%s' is not wanted - SKIPPED!", blocked)
continue
- logger.debug("Appending blocker='%s',blocked='%s',block_level='reject'", domain, blocked)
+ logger.debug("Appending blocker='%s',blocked='%s',block_level='reject' ...", domain, blocked)
blocklist.append({
"blocker" : domain,
"blocked" : blocked,
logger.debug("Found %d blocked instance(s) ...", len(rows))
for tag in rows:
logger.debug("tag[]='%s'", type(tag))
- peer = tidyup.domain(tag.contents[0])
+ text = tag.contents[0] if isinstance(tag.contents[0], str) else tag.contents[0].text
+ peer = tidyup.domain(text)
logger.debug("peer='%s'", peer)
if peer == "":
logger.debug("Appending peer='%s' ...", peer)
peers.append(peer)
+ logger.debug("Marking domain='%s' as successfully handled ...", domain)
+ instances.set_success(domain)
+
except network.exceptions as exception:
logger.warning("domain='%s',exception[%s]:'%s'", domain, type(exception), str(exception))
instances.set_last_error(domain, exception)