]> git.mxchange.org Git - fba.git/commitdiff
Continued:
authorRoland Häder <roland@mxchange.org>
Wed, 7 Aug 2024 15:24:23 +0000 (17:24 +0200)
committerRoland Häder <roland@mxchange.org>
Mon, 12 Aug 2024 23:40:35 +0000 (01:40 +0200)
- update_nodeinfo() now accepts --force-recrawl and --force-update-none to have
  both "special" modes separately usable

fba/boot.py
fba/commands.py

index 7adf5e3469f52cde02eb08c213a9ae7aed6a31bd..7dc826ca80e79dc386eb2a3abe89a4dd35fcea87 100644 (file)
@@ -227,7 +227,9 @@ def init_parser():
     parser.add_argument("--domain", help="Instance name (aka. domain)")
     parser.add_argument("--software", help="Name of software, e.g. 'lemmy'")
     parser.add_argument("--mode", help="Name of detection mode, e.g. 'auto_discovery'")
-    parser.add_argument("--force-all", action="store_true", help="Forces update of data, no matter what.")
+    parser.add_argument("--force-all", action="store_true", help="Forces update of data, no matter what. Replaces all force parameters below.")
+    parser.add_argument("--force-recrawl", action="store_true", help="Forces recrawling all found instances. Can still be limited by --software or any --no-* parameters.")
+    parser.add_argument("--force-update-none", action="store_true", help="Forces updating 'None' value for software (else it won't be updated).")
     parser.add_argument("--no-software", action="store_true", help="Checks only entries with no software type detected.")
     parser.add_argument("--no-auto", action="store_true", help="Checks only entries with other than AUTO_DISCOVERY as detection mode.")
     parser.add_argument("--no-detection", action="store_true", help="Checks only entries with no detection mode set.")
index b95f0442168a76c093e7a0b0740f10a7e50b5bbf..153f45d288e059d3c2d91314890e652c2bf0f82b 100644 (file)
@@ -1613,7 +1613,7 @@ def update_nodeinfo(args: argparse.Namespace) -> int:
         elif blacklist.is_blacklisted(row["domain"]):
             logger.debug("row[domain]='%s' is blacklisted - SKIPPED!", row["domain"])
             continue
-        elif not args.force_all and instances.is_recent(row["domain"], "last_nodeinfo"):
+        elif not args.force_all and not args.force_recrawl and instances.is_recent(row["domain"], "last_nodeinfo"):
             logger.debug("row[domain]='%s' has recently been checked - SKIPPED!", row["domain"])
             continue
 
@@ -1622,7 +1622,7 @@ def update_nodeinfo(args: argparse.Namespace) -> int:
             software = federation.determine_software(row["domain"])
 
             logger.debug("Determined software='%s'", software)
-            if (software != row["software"] and software is not None) or args.force_all is True:
+            if (software != row["software"] and software is not None) or args.force_all is True or args.force_update_none is True:
                 logger.debug("software='%s'", software)
                 if software is None:
                     logger.debug("Setting nodeinfo_url to 'None' for row[domain]='%s' ...", row["domain"])