MCPcopy Create free account
hub / github.com/PlatformLab/NanoLog / parse_argv

Function parse_argv

preprocessor/docopt.py:428–449  ·  view source on GitHub ↗

Parse command-line argument vector. If options_first: argv ::= [ long | shorts ]* [ argument ]* [ '--' [ argument ]* ] ; else: argv ::= [ long | shorts | argument ]* [ '--' [ argument ]* ] ;

(tokens, options, options_first=False)

Source from the content-addressed store, hash-verified

426
427
428def parse_argv(tokens, options, options_first=False):
429 """Parse command-line argument vector.
430
431 If options_first:
432 argv ::= [ long | shorts ]* [ argument ]* [ '--' [ argument ]* ] ;
433 else:
434 argv ::= [ long | shorts | argument ]* [ '--' [ argument ]* ] ;
435
436 """
437 parsed = []
438 while tokens.current() is not None:
439 if tokens.current() == '--':
440 return parsed + [Argument(None, v) for v in tokens]
441 elif tokens.current().startswith('--'):
442 parsed += parse_long(tokens, options)
443 elif tokens.current().startswith('-') and tokens.current() != '-':
444 parsed += parse_shorts(tokens, options)
445 elif options_first:
446 return parsed + [Argument(None, v) for v in tokens]
447 else:
448 parsed.append(Argument(None, tokens.move()))
449 return parsed
450
451
452def parse_defaults(doc):

Callers 1

docoptFunction · 0.85

Calls 5

ArgumentClass · 0.85
parse_longFunction · 0.85
parse_shortsFunction · 0.85
currentMethod · 0.80
moveMethod · 0.80

Tested by

no test coverage detected