INNER CODE UNIT · Python
ascii_validator
keiyoushi/extensions-source · ext-bootstrap.py:9
def ascii_validator(value: str) -> str:
value = value.strip()
try:
value.encode("ascii")
except UnicodeEncodeError:
raise argparse.ArgumentTypeError(f"'{value}' is not ASCII")
return value
def validate_args(args: argparse.Namespace, parser: argparse.ArgumentParser):
# Validate language
lang = args.lang
if not re.fullmatch(r"(?:[a-z]{2,3}(?:-[A-Z]{2,3})?|all)", lang):
parser.error(
f"invalid language: '{lang}' (must be a 2- or 3-letter ISO language code)"
)