test
This commit is contained in:
@ -0,0 +1,43 @@
|
||||
from getopt import GetoptError, getopt
|
||||
from typing import Dict, List
|
||||
|
||||
_options = [
|
||||
"exec-prefix=",
|
||||
"home=",
|
||||
"install-base=",
|
||||
"install-data=",
|
||||
"install-headers=",
|
||||
"install-lib=",
|
||||
"install-platlib=",
|
||||
"install-purelib=",
|
||||
"install-scripts=",
|
||||
"prefix=",
|
||||
"root=",
|
||||
"user",
|
||||
]
|
||||
|
||||
|
||||
def parse_distutils_args(args: List[str]) -> Dict[str, str]:
|
||||
"""Parse provided arguments, returning an object that has the matched arguments.
|
||||
|
||||
Any unknown arguments are ignored.
|
||||
"""
|
||||
result = {}
|
||||
for arg in args:
|
||||
try:
|
||||
parsed_opt, _ = getopt(args=[arg], shortopts="", longopts=_options)
|
||||
except GetoptError:
|
||||
# We don't care about any other options, which here may be
|
||||
# considered unrecognized since our option list is not
|
||||
# exhaustive.
|
||||
continue
|
||||
|
||||
if not parsed_opt:
|
||||
continue
|
||||
|
||||
option = parsed_opt[0]
|
||||
name_from_parsed = option[0][2:].replace("-", "_")
|
||||
value_from_parsed = option[1] or "true"
|
||||
result[name_from_parsed] = value_from_parsed
|
||||
|
||||
return result
|
Reference in New Issue
Block a user