Continued:
authorRoland Häder <roland@mxchange.org>
Sun, 18 Jun 2023 16:39:45 +0000 (18:39 +0200)
committerRoland Häder <roland@mxchange.org>
Sun, 18 Jun 2023 16:39:45 +0000 (18:39 +0200)
- returned JSON can sometimes be no list

fba/federation.py
fba/models/instances.py

index 97dc78666d1e9e552d88139a551a76099d05044a..bdb6574234922db04114aef49ba9402c0a0662ef 100644 (file)
@@ -195,9 +195,11 @@ def fetch_peers(domain: str, software: str) -> list:
             message = "JSON response does not contain 'federated_instances' or 'error_message'"
             print(f"WARNING: {message},domain='{domain}'")
             instances.set_last_error(domain, message)
-    else:
-        # DEBUG: print("DEBUG: Querying API was successful:", domain, len(data))
+    elif isinstance(data["json"], list):
+        # DEBUG print("DEBUG: Querying API was successful:", domain, len(data['json']))
         peers = data["json"]
+    else:
+        print(f"WARNING: Cannot parse data[json][]='{type(data['json'])}'")
 
     # DEBUG: print(f"DEBUG: Adding '{len(peers)}' for domain='{domain}'")
     instances.set_total_peers(domain, peers)
index cb08eb5bd0f15c20a40bdc6f1df2143fec0806d7..7cf70e6524c290edd249a6908b29bb19be56d873 100644 (file)
@@ -347,7 +347,7 @@ def deobscure(char: str, domain: str, blocked_hash: str = None) -> tuple:
     # DEBUG: print(f"DEBUG: row[]='{type(row)}' - EXIT!")
     return row
 
-def set_last_blocked (domain: str):
+def set_last_blocked(domain: str):
     # DEBUG: print(f"DEBUG: domain='{domain}' - CALLED!")
     if not isinstance(domain, str):
         raise ValueError(f"Parameter domain[]='{type(domain)}' is not 'str'")
@@ -358,7 +358,7 @@ def set_last_blocked (domain: str):
     _set_data("last_blocked", domain, time.time())
     # DEBUG: print("DEBUG: EXIT!")
 
-def set_last_instance_fetch (domain: str):
+def set_last_instance_fetch(domain: str):
     # DEBUG: print(f"DEBUG: domain='{domain}' - CALLED!")
     if not isinstance(domain, str):
         raise ValueError(f"Parameter domain[]='{type(domain)}' is not 'str'")
@@ -369,20 +369,20 @@ def set_last_instance_fetch (domain: str):
     _set_data("last_instance_fetch", domain, time.time())
     # DEBUG: print("DEBUG: EXIT!")
 
-def set_total_peers (domain: str, peers: list):
+def set_total_peers(domain: str, peers: list):
     # DEBUG: print(f"DEBUG: domain='{domain}',peers()={len(peers)} - CALLED!")
     if not isinstance(domain, str):
         raise ValueError(f"Parameter domain[]='{type(domain)}' is not 'str'")
     elif domain == "":
         raise ValueError("Parameter 'domain' is empty")
     elif not isinstance(peers, list):
-        raise ValueError("Parameter peers[]='{type(peers)}' is not 'list'")
+        raise ValueError(f"Parameter peers[]='{type(peers)}' is not 'list'")
 
     # Set timestamp
     _set_data("total_peers", domain, len(peers))
     # DEBUG: print("DEBUG: EXIT!")
 
-def set_nodeinfo_url (domain: str, url: list):
+def set_nodeinfo_url(domain: str, url: list):
     # DEBUG: print(f"DEBUG: domain='{domain}',url='{url}' - CALLED!")
     if not isinstance(domain, str):
         raise ValueError(f"Parameter domain[]='{type(domain)}' is not 'str'")
@@ -397,7 +397,7 @@ def set_nodeinfo_url (domain: str, url: list):
     _set_data("nodeinfo_url", domain, url)
     # DEBUG: print("DEBUG: EXIT!")
 
-def set_detection_mode (domain: str, url: list):
+def set_detection_mode(domain: str, url: list):
     # DEBUG: print(f"DEBUG: domain='{domain}',url='{url}' - CALLED!")
     if not isinstance(domain, str):
         raise ValueError(f"Parameter domain[]='{type(domain)}' is not 'str'")
@@ -412,7 +412,7 @@ def set_detection_mode (domain: str, url: list):
     _set_data("detection_mode", domain, url)
     # DEBUG: print("DEBUG: EXIT!")
 
-def set_detection_mode (domain: str, url: list):
+def set_detection_mode(domain: str, url: list):
     # DEBUG: print(f"DEBUG: domain='{domain}',url='{url}' - CALLED!")
     if not isinstance(domain, str):
         raise ValueError(f"Parameter domain[]='{type(domain)}' is not 'str'")
@@ -427,7 +427,7 @@ def set_detection_mode (domain: str, url: list):
     _set_data("detection_mode", domain, url)
     # DEBUG: print("DEBUG: EXIT!")
 
-def set_detection_mode (domain: str, mode: list):
+def set_detection_mode(domain: str, mode: list):
     # DEBUG: print(f"DEBUG: domain='{domain}',mode='{mode}' - CALLED!")
     if not isinstance(domain, str):
         raise ValueError(f"Parameter domain[]='{type(domain)}' is not 'str'")