]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
pybind/ceph_argparse: handle misordered keyword arguments
authorSage Weil <sage@newdream.net>
Tue, 2 Nov 2021 13:41:49 +0000 (09:41 -0400)
committerSage Weil <sage@newdream.net>
Tue, 2 Nov 2021 16:38:22 +0000 (12:38 -0400)
Signed-off-by: Sage Weil <sage@newdream.net>
src/pybind/ceph_argparse.py

index 6e1ce7b72d31d16522c9e0557e981304f38e58d0..d24b8f8daa49a8d9eb99f6dd35be07b466c2ef2d 100644 (file)
@@ -1159,8 +1159,12 @@ def validate(args: List[str],
 
             # no arg, but not required?  Continue consuming mysig
             # in case there are later required args
-            if myarg in (None, []) and not desc.req:
-                break
+            if myarg in (None, []):
+                if not desc.req:
+                    break
+                # did we already get this argument (as a named arg, earlier?)
+                if desc.name in d:
+                    break
 
             # A keyword argument?
             if myarg: