]> git.mxchange.org Git - fba.git/commitdiff
Continued:
authorRoland Häder <roland@mxchange.org>
Mon, 5 Jun 2023 21:41:07 +0000 (23:41 +0200)
committerRoland Häder <roland@mxchange.org>
Mon, 5 Jun 2023 21:42:59 +0000 (23:42 +0200)
- add argument --single to commands.fetch_instances() which only fetches given
  instance
- int() doesn't "magically" turn NoneType to 0, PHP would do it, so let's handle
  this here by ourself

fba/boot.py
fba/commands.py

index 1a89741fbcdc23aebff61148f989f679b08ebffe..01fda7bcea3ceeebbbb81629a823f72ad91dfb64 100644 (file)
@@ -105,6 +105,7 @@ def init_parser():
         help="Fetches instances (aka. \"domains\") from an initial instance.",
     )
     parser.add_argument("--domain", required=True, help="Instance name (aka. domain) to fetch further instances from. Start with a large instance, e.g. mastodon.social .")
+    parser.add_argument("--single", action="store_true", help="Only fetch given instance.")
     parser.set_defaults(command=commands.fetch_instances)
 
     # DEBUG: print("DEBUG: init_parser(): EXIT!")
@@ -113,9 +114,9 @@ def run_command():
     # DEBUG: print("DEBUG: run_command(): CALLED!")
     args = _PARSER.parse_args()
     print(f"DEBUG: args[{type(args)}]={args}")
-    status = int(args.command(args))
+    status = args.command(args)
     # DEBUG: print("DEBUG: status={status} - EXIT!")
-    return status
+    return status if type(status) == int else 0
 
 def shutdown():
     print("DEBUG: Closing database connection ...")
index 3bad9dd0f9e48e9cdaca9a100ea9ad9cae4f4647..e22646a2cf3fc3d51ffd088a9a9dd5ec5186b69f 100644 (file)
@@ -768,6 +768,10 @@ def fetch_instances(args: argparse.Namespace):
     # Initial fetch
     fba.fetch_instances(args.domain, None, None, sys.argv[0])
 
+    if args.single:
+        print(f"DEBUG: Not fetching more instances - EXIT!")
+        return
+
     # Loop through some instances
     fba.cursor.execute(
         "SELECT domain, origin, software, nodeinfo_url FROM instances WHERE software IN ('pleroma', 'mastodon', 'friendica', 'misskey', 'gotosocial', 'bookwyrm', 'takahe', 'lemmy') AND (last_instance_fetch IS NULL OR last_instance_fetch < ?) ORDER BY rowid DESC", [time.time() - config.get("recheck_instance")]