]> git.mxchange.org Git - fba.git/commitdiff
Continued:
authorRoland Häder <roland@mxchange.org>
Sat, 18 Nov 2023 14:25:47 +0000 (15:25 +0100)
committerRoland Häder <roland@mxchange.org>
Sat, 18 Nov 2023 14:25:47 +0000 (15:25 +0100)
- lesser code block indenting

fba/networks/peertube.py

index fd188d39148806a15e4a2195c361bd24e763f3bf..81c1dc8251b08e0b669daacfb627f830d3cc2043 100644 (file)
@@ -31,12 +31,10 @@ def fetch_peers(domain: str) -> list:
     logger.debug("domain='%s' - CALLED!", domain)
     domain_helper.raise_on(domain)
 
-    logger.debug("domain='%s' is a PeerTube, fetching JSON ...", domain)
+    # Init variables
     peers   = list()
-    start   = 0
-
-    # No CSRF by default, you don't have to add network.api_headers by yourself here
     headers = tuple()
+    start   = 0
 
     try:
         logger.debug("Checking CSRF for domain='%s'", domain)
@@ -60,38 +58,46 @@ def fetch_peers(domain: str) -> list:
 
             logger.debug("data[]='%s'", type(data))
             if "error_message" not in data:
+                logger.warning("domain='%s' causes error during API query: '%s' - SKIPPED!", domain, data['error_message'])
+                break
+            elif "data" not in data["json"]:
+                logger.warning("domain='%s' has no 'data' element returned - SKIPPED!", domain)
+                break
+            else:
                 logger.debug("Success, data[json]()=%d", len(data["json"]))
                 instances.set_success(domain)
 
-                if "data" in data["json"]:
-                    rows = data["json"]["data"]
-
-                    logger.debug("Found %d record(s).", len(rows))
-                    for record in rows:
-                        logger.debug("record()=%d", len(record))
-                        for mode2 in ["follower", "following"]:
-                            logger.debug("mode=%s,mode2='%s'", mode, mode2)
-                            if mode2 in record and "host" in record[mode2] and record[mode2]["host"] != domain:
-                                logger.debug("record[%s][host]='%s'", mode2, record[mode2]["host"])
-                                if not domain_helper.is_wanted(record[mode2]["host"]):
-                                    logger.debug("record[%s][host]='%s' is not wanted - SKIPPED!", mode2, record[mode2]["host"])
-                                    continue
-
-                                logger.debug("Found mode2='%s',host='%s', adding ...", mode2, record[mode2]["host"])
-                                peers.append(record[mode2]["host"])
-
-                    if len(rows) < 100:
-                        logger.debug("Reached end of JSON response, domain='%s'", domain)
-                        break
-                else:
-                    logger.warning("domain='%s' has no 'data' element returned - SKIPPED!", domain)
+                rows  = data["json"]["data"]
+
+                logger.debug("Found %d record(s).", len(rows))
+                for record in rows:
+                    logger.debug("record()=%d", len(record))
+                    for mode2 in ["follower", "following"]:
+                        logger.debug("mode=%s,mode2='%s'", mode, mode2)
+                        if mode2 not in record:
+                            logger.debug("Array record does not contain element mode2='%s' - SKIPPED", mode2)
+                            continue
+                        elif "host" not in record[mode2]:
+                            logger.debug("record[%s] does not contain element 'host' - SKIPPED", mode2)
+                            continue
+                        elif record[mode2]["host"] == domain:
+                            logger.debug("record[%s]='%s' matches domain='%s' - SKIPPED!", mode2, record[mode2]["hnost"], domain)
+                            continue
+
+                        logger.debug("record[%s][host]='%s'", mode2, record[mode2]["host"])
+                        if not domain_helper.is_wanted(record[mode2]["host"]):
+                            logger.debug("record[%s][host]='%s' is not wanted - SKIPPED!", mode2, record[mode2]["host"])
+                            continue
+
+                        logger.debug("Appending mode2='%s',host='%s' ...", mode2, record[mode2]["host"])
+                        peers.append(record[mode2]["host"])
+
+                if len(rows) < 100:
+                    logger.debug("Reached end of JSON response, domain='%s'", domain)
                     break
 
                 # Continue with next row
                 start = start + 100
-            else:
-                logger.warning("domain='%s' causes error during API query: '%s' - SKIPPED!", domain, data['error_message'])
-                break
 
     logger.debug("peers[%s]()=%d - EXIT!", type(peers), len(peers))
     return peers