HEX
Server: LiteSpeed
System: Linux srv1.dhviews.com 5.14.0-570.23.1.el9_6.x86_64 #1 SMP PREEMPT_DYNAMIC Tue Jun 24 11:27:16 EDT 2025 x86_64
User: bdedition (1723)
PHP: 7.4.33
Disabled: NONE
Upload Files
File: //usr/local/apps/python3/lib/python3.11/site-packages/pip/_internal/utils/distutils_args.py
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