From 827a6b2778d58d09ed24c94788d5e8aa83a61893 Mon Sep 17 00:00:00 2001 From: red person Date: Sun, 28 Jun 2026 12:57:11 +0300 Subject: [PATCH] Reject blank ownerless claim owner (#4929) --- scripts/claim_ownerless.py | 10 ++++++++-- tests/test_claim_ownerless_json.py | 8 +++++++- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/scripts/claim_ownerless.py b/scripts/claim_ownerless.py index 1682db11b..503917203 100644 --- a/scripts/claim_ownerless.py +++ b/scripts/claim_ownerless.py @@ -27,12 +27,18 @@ def claim_json_entries(entries, owner): return count +def owner_arg(argv): + if len(argv) < 2 or not argv[1].strip(): + return None + return argv[1].strip() + + def main(): - if len(sys.argv) < 2: + owner = owner_arg(sys.argv) + if not owner: print("Usage: python scripts/claim_ownerless.py ") sys.exit(1) - owner = sys.argv[1] print(f"Claiming all ownerless data for: {owner}\n") # 1. Memories (JSON files) diff --git a/tests/test_claim_ownerless_json.py b/tests/test_claim_ownerless_json.py index a918b35d7..1f2416d2a 100644 --- a/tests/test_claim_ownerless_json.py +++ b/tests/test_claim_ownerless_json.py @@ -1,4 +1,4 @@ -from scripts.claim_ownerless import claim_json_entries +from scripts.claim_ownerless import claim_json_entries, owner_arg def test_claim_json_entries_skips_invalid_rows(): @@ -16,3 +16,9 @@ def test_claim_json_entries_skips_invalid_rows(): None, {"id": "b", "owner": "already"}, ] + + +def test_owner_arg_rejects_blank_owner(): + assert owner_arg(["claim_ownerless.py"]) is None + assert owner_arg(["claim_ownerless.py", " "]) is None + assert owner_arg(["claim_ownerless.py", " admin "]) == "admin"