1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
|
"""Converters for use as the type argument for arparse's add_argument method."""
from __future__ import annotations
import argparse
def key_value_type(value: str) -> tuple[str, str]:
"""Wrapper around key_value."""
return key_value(value)
def key_value(value: str) -> tuple[str, str]:
"""Type parsing and validation for argparse key/value pairs separated by an '=' character."""
parts = value.split('=')
if len(parts) != 2:
raise argparse.ArgumentTypeError('"%s" must be in the format "key=value"' % value)
return parts[0], parts[1]
|