diff options
author | q0w <43147888+q0w@users.noreply.github.com> | 2023-03-20 16:32:42 +0300 |
---|---|---|
committer | q0w <43147888+q0w@users.noreply.github.com> | 2023-03-20 16:32:42 +0300 |
commit | 146b00030803b5248852b60ec97e47f84e7194bc (patch) | |
tree | c927db08ee156b884ea2181b723dd05ef03520ce /src | |
parent | d41b266bc4edf11d631114e9c4c2115872a0afd9 (diff) | |
download | pip-146b00030803b5248852b60ec97e47f84e7194bc.tar.gz |
fix merge_config_settings
Diffstat (limited to 'src')
-rw-r--r-- | src/pip/_internal/utils/misc.py | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/src/pip/_internal/utils/misc.py b/src/pip/_internal/utils/misc.py index 6a2b67b0c..600763c6a 100644 --- a/src/pip/_internal/utils/misc.py +++ b/src/pip/_internal/utils/misc.py @@ -14,7 +14,6 @@ import stat import sys import sysconfig import urllib.parse -from collections import defaultdict from io import StringIO from itertools import filterfalse, tee, zip_longest from types import TracebackType @@ -746,11 +745,14 @@ def merge_config_settings( reqs_settings: Dict[str, Union[str, List[str]]], cli_settings: Dict[str, Union[str, List[str]]], ) -> Dict[str, Union[str, List[str]]]: - dd = defaultdict(list) + dd: Dict[str, Union[str, List[str]]] = {} for d in (reqs_settings, cli_settings): for k, v in d.items(): - if isinstance(v, list): - dd[k].extend(v) + if k in dd: + if isinstance(dd[k], list): + dd[k].append(v) + else: + dd[k] = [dd[k], v] else: - dd[k].append(v) - return dict(dd) + dd[k] = v + return dd |