File: converters.py

package info (click to toggle)
ansible-core 2.14.18-0%2Bdeb12u2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 29,072 kB
  • sloc: python: 172,173; cs: 4,367; sh: 3,898; makefile: 41; xml: 34
file content (19 lines) | stat: -rw-r--r-- 572 bytes parent folder | download
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]