]> git.mxchange.org Git - fba.git/blobdiff - fetch_bkali.py
Continued:
[fba.git] / fetch_bkali.py
index f09612df3b5a16fce8fb5b140d63689808be2ee6..acfe7c6057ee8f2f6eb58f7fba3f3a62440d3a2d 100755 (executable)
@@ -29,20 +29,30 @@ try:
     }))
 
     # DEBUG: print(f"DEBUG: fetched({len(fetched)})[]='{type(fetched)}'")
-    if len(fetched) > 0 and "data" in fetched and "nodeinfo" in fetched["data"]:
-        for entry in fetched["data"]["nodeinfo"]:
-            # DEBUG: print(f"DEBUG: entry['{type(entry)}']='{entry}'")
-            if not "domain" in entry:
-                print(f"WARNING: entry does not contain 'domain' - SKIPPED!")
-                continue
-            elif not validators.domain(entry["domain"]):
-                print(f"WARNING: domain='{entry['domain']}' is {entry['domain']}' is not a valid domain - SKIPPED!")
-                continue
-            elif fba.is_blacklisted(entry["domain"]):
-                # DEBUG: print(f"DEBUG: domain='blacklisted - SKIPPED!")
-                continue
-
-            domains.append(entry["domain"])
+    if len(fetched) == 0:
+        raise Exception("WARNING: Returned no records")
+    elif not "data" in fetched:
+        raise Exception(f"WARNING: fetched()={len(fetched)} does not contain element 'data'")
+    elif not "nodeinfo" in fetched["data"]:
+        raise Exception(f"WARNING: fetched()={len(fetched['data'])} does not contain element 'nodeinfo'")
+
+    for entry in fetched["data"]["nodeinfo"]:
+        # DEBUG: print(f"DEBUG: entry['{type(entry)}']='{entry}'")
+        if not "domain" in entry:
+            print(f"WARNING: entry does not contain 'domain' - SKIPPED!")
+            continue
+        elif not validators.domain(entry["domain"]):
+            print(f"WARNING: domain='{entry['domain']}' is not a valid domain - SKIPPED!")
+            continue
+        elif fba.is_blacklisted(entry["domain"]):
+            # DEBUG: print(f"DEBUG: domain='{entry['domain']}' is blacklisted - SKIPPED!")
+            continue
+        elif fba.is_instance_registered(entry["domain"]):
+            # DEBUG: print(f"DEBUG: domain='{entry['domain']}' is already registered - SKIPPED!")
+            continue
+
+        # DEBUG: print(f"DEBUG: Adding domain='{entry['domain']}' ...")
+        domains.append(entry["domain"])
 
 except BaseException as e:
     print(f"ERROR: Cannot fetch graphql,exception[{type(e)}]:'{str(e)}'")