From: Sage Weil Date: Tue, 2 Nov 2021 13:41:49 +0000 (-0400) Subject: pybind/ceph_argparse: handle misordered keyword arguments X-Git-Tag: v17.1.0~511^2~9 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=1b2ed89db785eb52bda403aa751cdac8ef64d4c4;p=ceph.git pybind/ceph_argparse: handle misordered keyword arguments Signed-off-by: Sage Weil --- diff --git a/src/pybind/ceph_argparse.py b/src/pybind/ceph_argparse.py index 6e1ce7b72d31d..d24b8f8daa49a 100644 --- a/src/pybind/ceph_argparse.py +++ b/src/pybind/ceph_argparse.py @@ -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: