From 1b2ed89db785eb52bda403aa751cdac8ef64d4c4 Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Tue, 2 Nov 2021 09:41:49 -0400 Subject: [PATCH] pybind/ceph_argparse: handle misordered keyword arguments Signed-off-by: Sage Weil --- src/pybind/ceph_argparse.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) 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: -- 2.39.5