commit:     936902901eb8df408a2bc708b327cf7e1325da16
Author:     Arthur Zamarin <arthurzam <AT> gentoo <DOT> org>
AuthorDate: Mon Apr  8 19:32:45 2024 +0000
Commit:     Arthur Zamarin <arthurzam <AT> gentoo <DOT> org>
CommitDate: Mon Apr  8 19:32:45 2024 +0000
URL:        
https://gitweb.gentoo.org/proj/pkgcore/snakeoil.git/commit/?id=93690290

arghparse: fix handling with python 3.11.9

In commit [0], the private function changes the tuple size it returns.
By using `*_` in the middle, we can support both extracted versions (3
and 4) of the function.

This investigation was done by ajak, thank you.

[0] 
https://github.com/python/cpython/commit/c02b7ae4dd367444aa6822d5fb73b61e8f5a4ff9

Resolves: https://github.com/pkgcore/pkgcheck/issues/676
Resolves: https://github.com/pkgcore/pkgdev/issues/184
Investigated-by: John Helmert III <ajak <AT> gentoo.org>
Signed-off-by: Arthur Zamarin <arthurzam <AT> gentoo.org>

 src/snakeoil/cli/arghparse.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/snakeoil/cli/arghparse.py b/src/snakeoil/cli/arghparse.py
index ab458c8f..80443b7a 100644
--- a/src/snakeoil/cli/arghparse.py
+++ b/src/snakeoil/cli/arghparse.py
@@ -774,7 +774,7 @@ class OptionalsParser(argparse.ArgumentParser):
         def consume_optional(start_index):
             # get the optional identified at this index
             option_tuple = option_string_indices[start_index]
-            action, option_string, explicit_arg = option_tuple
+            action, option_string, *_, explicit_arg = option_tuple
 
             # identify additional optionals in the same arg string
             # (e.g. -xyz is the same as -x -y -z if no args are required)

Reply via email to