from fba import config
from fba import fba
-def fetch_blocks(blocker: str, origin: str, nodeinfo_url: str):
+def fetch_blocks(domain: str, origin: str, nodeinfo_url: str):
print(f"DEBUG: domain='{domain}',origin='{origin}',nodeinfo_url='{nodeinfo_url}' - CALLED!")
if type(domain) != str:
raise ValueError(f"Parameter domain[]={type(domain)} is not 'str'")
try:
# Blocks
- federation = fba.get_response(blocker, f"{fba.get_peers_url}?filter=suspended", fba.api_headers, (config.get("connection_timeout"), config.get("read_timeout"))).json()
+ federation = fba.get_response(domain, f"{fba.get_peers_url}?filter=suspended", fba.api_headers, (config.get("connection_timeout"), config.get("read_timeout"))).json()
if (federation == None):
- print("WARNING: No valid response:", blocker);
+ print("WARNING: No valid response:", domain);
elif "error" in federation:
print("WARNING: API returned error:", federation["error"])
else:
- print(f"INFO: Checking {len(federation)} entries from blocker='{blocker}',software='{software}' ...")
+ print(f"INFO: Checking {len(federation)} entries from domain='{domain}',software='gotosocial' ...")
for peer in federation:
blocked = peer["domain"].lower()
# DEBUG: print("DEBUG: BEFORE blocked:", blocked)
# DEBUG: print("DEBUG: AFTER blocked:", blocked)
if blocked == "":
- print("WARNING: blocked is empty:", blocker)
+ print("WARNING: blocked is empty:", domain)
continue
elif blacklist.is_blacklisted(blocked):
# DEBUG: print(f"DEBUG: blocked='{blocked}' is blacklisted - skipping!")
origin = searchres[1]
nodeinfo_url = searchres[2]
elif not validators.domain(blocked):
- print(f"WARNING: blocked='{blocked}',software='{software}' is not a valid domain name - skipped!")
+ print(f"WARNING: blocked='{blocked}',software='gotosocial' is not a valid domain name - skipped!")
continue
# DEBUG: print("DEBUG: Looking up instance by domain:", blocked)
if not validators.domain(blocked):
- print(f"WARNING: blocked='{blocked}',software='{software}' is not a valid domain name - skipped!")
+ print(f"WARNING: blocked='{blocked}',software='gotosocial' is not a valid domain name - skipped!")
continue
elif not fba.is_instance_registered(blocked):
- # DEBUG: print(f"DEBUG: Domain blocked='{blocked}' wasn't found, adding ..., blocker='{blocker}',origin='{origin}',nodeinfo_url='{nodeinfo_url}'")
- fba.add_instance(blocked, blocker, inspect.currentframe().f_code.co_name, nodeinfo_url)
+ # DEBUG: print(f"DEBUG: Domain blocked='{blocked}' wasn't found, adding ..., domain='{domain}',origin='{origin}',nodeinfo_url='{nodeinfo_url}'")
+ instances.add(blocked, domain, inspect.currentframe().f_code.co_name, nodeinfo_url)
- if not blocks.is_instance_blocked(blocker, blocked, "reject"):
- # DEBUG: print(f"DEBUG: blocker='{blocker}' is blocking '{blocked}' for unknown reason at this point")
- blocks.add_instance(blocker, blocked, "unknown", "reject")
+ if not blocks.is_instance_blocked(domain, blocked, "reject"):
+ # DEBUG: print(f"DEBUG: domain='{domain}' is blocking '{blocked}' for unknown reason at this point")
+ blocks.add_instance(domain, blocked, "unknown", "reject")
blockdict.append({
"blocked": blocked,
"reason" : None
})
else:
- # DEBUG: print(f"DEBUG: Updating block last seen for blocker='{blocker}',blocked='{blocked}' ...")
- blocks.update_last_seen(blocker, blocked, "reject")
+ # DEBUG: print(f"DEBUG: Updating block last seen for domain='{domain}',blocked='{blocked}' ...")
+ blocks.update_last_seen(domain, blocked, "reject")
if "public_comment" in peer:
- # DEBUG: print("DEBUG: Updating block reason:", blocker, blocked, peer["public_comment"])
- blocks.update_reason(peer["public_comment"], blocker, blocked, "reject")
+ # DEBUG: print("DEBUG: Updating block reason:", domain, blocked, peer["public_comment"])
+ blocks.update_reason(peer["public_comment"], domain, blocked, "reject")
for entry in blockdict:
if entry["blocked"] == blocked:
# DEBUG: print("DEBUG: Committing changes ...")
fba.connection.commit()
except Exception as e:
- print(f"ERROR: blocker='{blocker}',software='{software}',exception[{type(e)}]:'{str(e)}'")
+ print(f"ERROR: domain='{domain}',software='gotosocial',exception[{type(e)}]:'{str(e)}'")
# DEBUG: print("DEBUG: EXIT!")