From: Roland Häder Date: Fri, 16 Jun 2023 13:24:59 +0000 (+0200) Subject: Continued: X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=47312a35b1f4a1d125e5473e21a029f2b5ba30bb;p=fba.git Continued: - let's always update last error details/status code --- diff --git a/fba/federation.py b/fba/federation.py index fc33f0d..e79c69e 100644 --- a/fba/federation.py +++ b/fba/federation.py @@ -163,6 +163,7 @@ def fetch_peers(domain: str, software: str) -> list: headers = csrf.determine(domain, dict()) except network.exceptions as exception: print(f"WARNING: Exception '{type(exception)}' during checking CSRF (fetch_peers,{__name__}) - EXIT!") + instances.set_last_error(domain, exception) return peers # DEBUG: print(f"DEBUG: Fetching peers from '{domain}',software='{software}' ...") @@ -230,6 +231,7 @@ def fetch_nodeinfo(domain: str, path: str = None) -> dict: headers = csrf.determine(domain, dict()) except network.exceptions as exception: print(f"WARNING: Exception '{type(exception)}' during checking CSRF (nodeinfo,{__name__}) - EXIT!") + instances.set_last_error(domain, exception) return { "status_code" : 500, "error_message": f"exception[{type(exception)}]='{str(exception)}'", @@ -288,6 +290,7 @@ def fetch_wellknown_nodeinfo(domain: str) -> dict: headers = csrf.determine(domain, dict()) except network.exceptions as exception: print(f"WARNING: Exception '{type(exception)}' during checking CSRF (fetch_wellknown_nodeinfo,{__name__}) - EXIT!") + instances.set_last_error(domain, exception) return { "status_code" : 500, "error_message": type(exception), diff --git a/fba/models/instances.py b/fba/models/instances.py index 4928808..def8401 100644 --- a/fba/models/instances.py +++ b/fba/models/instances.py @@ -132,7 +132,7 @@ def update_data(domain: str): # DEBUG: print(f"DEBUG: Success! (rowcount={fba.cursor.rowcount })") if fba.cursor.rowcount == 0: - # DEBUG: print(f"DEBUG: Did not update any rows: domain='{domain}',fields()={len(fields)} - EXIT!") + print(f"WARNING: Did not update any rows: domain='{domain}',fields()={len(fields)} - EXIT!") return # DEBUG: print("DEBUG: Committing changes ...") @@ -188,7 +188,8 @@ def add(domain: str, origin: str, command: str, path: str = None, software: str # DEBUG: print("DEBUG: domain,origin,command,path:", domain, origin, command, path) software = federation.determine_software(domain, path) except network.exceptions as exception: - print(f"WARNING Exception '{type(exception)}' during determining software type") + print(f"WARNING: Exception '{type(exception)}' during determining software type") + set_last_error(domain, exception) # DEBUG: print("DEBUG: Determined software:", software) if software == "lemmy" and domain.find("/c/") > 0: @@ -210,12 +211,11 @@ def add(domain: str, origin: str, command: str, path: str = None, software: str ), ) + # DEBUG: print(f"DEBUG: Marking domain='{domain}' as registered.") cache.set_sub_key("is_registered", domain, True) if has_pending(domain): # DEBUG: print(f"DEBUG: domain='{domain}' has pending nodeinfo being updated ...") - _set_data("last_status_code" , domain, None) - _set_data("last_error_details", domain, None) update_data(domain) # DEBUG: print("DEBUG: EXIT!") @@ -229,7 +229,6 @@ def set_last_nodeinfo(domain: str): # DEBUG: print("DEBUG: Updating last_nodeinfo for domain:", domain) _set_data("last_nodeinfo", domain, time.time()) - _set_data("last_updated" , domain, time.time()) # Running pending updated # DEBUG: print(f"DEBUG: Invoking update_data({domain}) ...") diff --git a/fba/networks/lemmy.py b/fba/networks/lemmy.py index 038b4eb..78e57c5 100644 --- a/fba/networks/lemmy.py +++ b/fba/networks/lemmy.py @@ -38,6 +38,7 @@ def fetch_peers(domain: str) -> list: headers = csrf.determine(domain, dict()) except network.exceptions as exception: print(f"WARNING: Exception '{type(exception)}' during checking CSRF (fetch_peers,{__name__}) - EXIT!") + instances.set_last_error(domain, exception) return peers try: diff --git a/fba/networks/mastodon.py b/fba/networks/mastodon.py index cdfccc8..a31d093 100644 --- a/fba/networks/mastodon.py +++ b/fba/networks/mastodon.py @@ -150,6 +150,7 @@ def fetch_blocks(domain: str, origin: str, nodeinfo_url: str): headers = csrf.determine(domain, dict()) except network.exceptions as exception: print(f"WARNING: Exception '{type(exception)}' during checking CSRF (fetch_blocks,{__name__}) - EXIT!") + instances.set_last_error(domain, exception) return try: diff --git a/fba/networks/misskey.py b/fba/networks/misskey.py index 5cf1b56..bf58924 100644 --- a/fba/networks/misskey.py +++ b/fba/networks/misskey.py @@ -46,6 +46,7 @@ def fetch_peers(domain: str) -> list: headers = csrf.determine(domain, dict()) except network.exceptions as exception: print(f"WARNING: Exception '{type(exception)}' during checking CSRF (fetch_peers,{__name__}) - EXIT!") + instances.set_last_error(domain, exception) return peers # iterating through all "suspended" (follow-only in its terminology) @@ -146,6 +147,7 @@ def fetch_blocks(domain: str) -> dict: headers = csrf.determine(domain, dict()) except network.exceptions as exception: print(f"WARNING: Exception '{type(exception)}' during checking CSRF (fetch_blocks,{__name__}) - EXIT!") + instances.set_last_error(domain, exception) return blocklist # iterating through all "suspended" (follow-only in its terminology) diff --git a/fba/networks/peertube.py b/fba/networks/peertube.py index c15ec21..26be232 100644 --- a/fba/networks/peertube.py +++ b/fba/networks/peertube.py @@ -39,6 +39,7 @@ def fetch_peers(domain: str) -> list: headers = csrf.determine(domain, dict()) except network.exceptions as exception: print(f"WARNING: Exception '{type(exception)}' during checking CSRF (fetch_peers,{__name__}) - EXIT!") + instances.set_last_error(domain, exception) return peers for mode in ["followers", "following"]: diff --git a/fba/networks/pleroma.py b/fba/networks/pleroma.py index 05d8181..aa8ea80 100644 --- a/fba/networks/pleroma.py +++ b/fba/networks/pleroma.py @@ -58,6 +58,7 @@ def fetch_blocks(domain: str, origin: str, nodeinfo_url: str): rows = federation.fetch_nodeinfo(domain, nodeinfo_url) except network.exceptions as exception: print(f"WARNING: Exception '{type(exception)}' during fetching nodeinfo") + instances.set_last_error(domain, exception) if rows is None: print("WARNING: Could not fetch nodeinfo from domain:", domain)