MCPcopy
hub / github.com/httpie/cli / to_argparse

Function to_argparse

httpie/cli/options.py:193–221  ·  view source on GitHub ↗
(
    abstract_options: ParserSpec,
    parser_type: ParserType = HTTPieArgumentParser,
)

Source from the content-addressed store, hash-verified

191
192
193def to_argparse(
194 abstract_options: ParserSpec,
195 parser_type: ParserType = HTTPieArgumentParser,
196) -> ParserType:
197 concrete_parser = parser_type(
198 prog=abstract_options.program,
199 description=abstract_options.description,
200 epilog=abstract_options.epilog,
201 )
202 concrete_parser.spec = abstract_options
203 concrete_parser.register('action', 'lazy_choices', LazyChoices)
204 concrete_parser.register('action', 'manual', Manual)
205
206 for abstract_group in abstract_options.groups:
207 concrete_group = concrete_parser.add_argument_group(
208 title=abstract_group.name, description=abstract_group.description
209 )
210 if abstract_group.is_mutually_exclusive:
211 concrete_group = concrete_group.add_mutually_exclusive_group(required=False)
212
213 for abstract_argument in abstract_group.arguments:
214 concrete_group.add_argument(
215 *abstract_argument.aliases,
216 **drop_keys(map_qualifiers(
217 abstract_argument.configuration, ARGPARSE_QUALIFIER_MAP
218 ), ARGPARSE_IGNORE_KEYS)
219 )
220
221 return concrete_parser
222
223
224JSON_DIRECT_MIRROR_OPTIONS = (

Callers 1

definition.pyFile · 0.90

Calls 4

drop_keysFunction · 0.85
map_qualifiersFunction · 0.85
registerMethod · 0.80
add_argumentMethod · 0.80

Tested by

no test coverage detected