R`i6 d Z ddlZddlZddlZddlZddlmZmZmZm Z m Z mZmZ ddl mZmZ ddlmZ ddlmZ ddlmZ ddlmZmZ ej2 Z e d e Zerd ndZdZ ed dddd Zej> ej@ ejB ejD ejF fZ$ej@ ej> ejB fZ% ee& Z'dedefdZ(dede e fdZ)deee e f fdZ* G d d Z+y)a Configuration management setup Some terminology: - name As written in config files. - value Value associated with a name - key Name combined with it's section (section.name) - variant A single word describing where the configuration key-value pair came from N)AnyDictIterableListNewTypeOptionalTuple)ConfigurationError!ConfigurationFileCouldNotBeLoaded)appdirs)WINDOWS) getLogger) ensure_direnumKindzpip.inizpip.conf)versionhelpuserglobalsiteenvzenv-var)USERGLOBALSITEENVENV_VARnamereturnc r | j j dd } | j d r| dd } | S )zAMake a name consistent regardless of source (environment or file)_-z-- N)lowerreplace startswith)r s /builddir/build/BUILDROOT/alt-python312-pip-23.3.1-3.el8.x86_64/opt/alt/python312/lib/python3.12/site-packages/pip/_internal/configuration.py_normalize_namer' 2 s6 ::<S)DtABxK c f d| vrdj | }t | | j dd S )N.zbKey does not contain dot separated section and key. Perhaps you wanted to use 'global.{}' instead? )formatr split)r error_messages r&