Browse Source

Revert "Improved the iter_parsers function of the argparse_to_json.py to allow"

This reverts commit 4140f8e8e6.
1.0.4-release-candidate
Chris 4 years ago
parent
commit
a3232b7a34
1 changed files with 5 additions and 18 deletions
  1. 23
      gooey/python_bindings/argparse_to_json.py

23
gooey/python_bindings/argparse_to_json.py

@ -19,6 +19,7 @@ from uuid import uuid4
from gooey.python_bindings.gooey_parser import GooeyParser
from gooey.util.functional import merge, getin, identity, assoc
VALID_WIDGETS = (
'FileChooser',
'MultiFileChooser',
@ -126,24 +127,10 @@ def assert_subparser_constraints(parser):
"when subparsers are present.")
def iter_parsers(parser, parents=()):
'''
Recursively iterate over name, parser pairs
If one of the child actions contains a sub_parser is going to be called recursively to iter_parsers
:parser current parser to extract his actions
:parents tuple of previous actions parsers
:return a generator of all the actions and sub actions
'''
def iter_parsers(parser):
''' Iterate over name, parser pairs '''
try:
for name, sub_parser in get_subparser(parser._actions).choices.items():
chain = parents + (name,)
if has_subparsers(sub_parser._actions):
yield from iter_parsers(sub_parser, parents=chain)
else:
yield ' '.join(chain), sub_parser
return get_subparser(parser._actions).choices.items()
except:
return iter([('::gooey/default', parser)])
@ -269,7 +256,7 @@ def categorize(actions, widget_dict, options):
elif is_standard(action):
yield action_to_json(action, _get_widget(action, 'TextField'), options)
elif is_file(action):
yield action_to_json(action, _get_widget(action, 'FileSaver'), options)

Loading…
Cancel
Save