]> git.mxchange.org Git - fba.git/commitdiff
Continued:
authorRoland Häder <roland@mxchange.org>
Mon, 13 Jan 2025 22:33:37 +0000 (23:33 +0100)
committerRoland Häder <roland@mxchange.org>
Mon, 13 Jan 2025 22:33:37 +0000 (23:33 +0100)
- check if required key 'url' is in dict 'row'
- avoided superflous else + indenting
- simplier check before complex checks (`if domain in domains` is lesser
  intensive than invoking "expensive" is_wanted())

fba/commands.py

index c1200211d91d016755625693e3d7ad8e5e88cd11..4e13cfdf598c717f01d280527a2ad97547010664 100644 (file)
@@ -1725,9 +1725,9 @@ def fetch_relaylist(args: argparse.Namespace) -> int:
     if sources.is_recent(source_domain):
         logger.info("API from source_domain='%s' has recently being accessed - EXIT!", source_domain)
         return 1
-    else:
-        logger.debug("source_domain='%s' has not been recently used, marking ...", source_domain)
-        sources.update(source_domain)
+
+    logger.debug("source_domain='%s' has not been recently used, marking ...", source_domain)
+    sources.update(source_domain)
 
     logger.info("Fetching list from source_domain='%s' ...", source_domain)
     rows = network.fetch_json_rows(
@@ -1740,6 +1740,10 @@ def fetch_relaylist(args: argparse.Namespace) -> int:
     logger.info("Checking %d row(s) ...", len(rows))
     for row in rows:
         logger.debug("row[%s]='%s' - BEFORE!", type(row), row)
+        if "url" not in row:
+            logger.warning("row='%s' has no required element 'url' - SKIPPED!", row)
+            continue
+
         domain = urlparse(row["url"]).netloc.lower().split(":")[0]
         logger.debug("domain='%s' - AFTER!", domain)
 
@@ -1751,12 +1755,12 @@ def fetch_relaylist(args: argparse.Namespace) -> int:
         domain = domain_helper.encode_idna(domain)
         logger.debug("domain='%s' - AFTER!", domain)
 
-        if not domain_helper.is_wanted(domain):
-            logger.debug("domain='%s' is not wanted - SKIPPED!", domain)
-            continue
-        elif domain in domains:
+        if domain in domains:
             logger.debug("domain='%s' is already added - SKIPPED!", domain)
             continue
+        elif not domain_helper.is_wanted(domain):
+            logger.debug("domain='%s' is not wanted - SKIPPED!", domain)
+            continue
         elif instances.is_registered(domain):
             logger.debug("domain='%s' is already registered - SKIPPED!", domain)
             continue
@@ -1795,9 +1799,6 @@ def fetch_relays(args: argparse.Namespace) -> int:
         if not args.force_all and instances.is_recent(row["domain"]):
             logger.debug("row[domain]='%s' has recently been fetched - SKIPPED!", row["domain"])
             continue
-        elif row["nodeinfo_url"] is None:
-            logger.warning("row[domain]='%s' has empty nodeinfo_url but this is required - SKIPPED!", row["domain"])
-            continue
 
         peers = []
         try:
@@ -1832,7 +1833,7 @@ def fetch_relays(args: argparse.Namespace) -> int:
                 logger.info("Fetching / from relay row[domain]='%s',row[software]='%s' ...", row["domain"], row["software"])
                 raw = network.fetch_url(
                     f"https://{row['domain']}",
-                    network.web_headers,
+                    headers=network.web_headers,
                     timeout=config.timeout
                 ).text
                 logger.debug("raw[%s]()=%d", type(raw), len(raw))