First commit
This commit is contained in:
parent
185f10468c
commit
5125c8da2c
27
pargs.py
Normal file
27
pargs.py
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
import sys
|
||||||
|
|
||||||
|
|
||||||
|
def parse_args(argv=None):
|
||||||
|
argv = argv if argv else sys.argv
|
||||||
|
print(argv)
|
||||||
|
args = [arg for arg in argv if not arg.startswith('-')]
|
||||||
|
argv = [arg for arg in argv if arg not in args]
|
||||||
|
# kwargs = {key: value for key, value in value.split('=') if value.startswith('-') and '=' in value}
|
||||||
|
# myDict = { k:v for (k,v) in zip(keys, values)}
|
||||||
|
kwargs = {}
|
||||||
|
|
||||||
|
print(argv)
|
||||||
|
print(args)
|
||||||
|
print(kwargs)
|
||||||
|
|
||||||
|
return args, kwargs
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
parse_args([
|
||||||
|
'/home/pat/Git/pargs/pargs.py',
|
||||||
|
'command',
|
||||||
|
'positional',
|
||||||
|
'--flag',
|
||||||
|
'--optional=value'
|
||||||
|
])
|
||||||
10
tests/test_appname.py
Normal file
10
tests/test_appname.py
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
import sys
|
||||||
|
import pytest
|
||||||
|
from pargs import parse_args
|
||||||
|
|
||||||
|
|
||||||
|
def test_get_appname():
|
||||||
|
_input = 'appname command positional --flag --optional=value'
|
||||||
|
args, kwargs = parse_args(_input.split())
|
||||||
|
assert args == ['appname', 'command', 'positional']
|
||||||
|
assert kwargs == {'flag': True, 'optional': 'value'}
|
||||||
Loading…
x
Reference in New Issue
Block a user