From 146b00030803b5248852b60ec97e47f84e7194bc Mon Sep 17 00:00:00 2001 From: q0w <43147888+q0w@users.noreply.github.com> Date: Mon, 20 Mar 2023 16:32:42 +0300 Subject: fix merge_config_settings --- src/pip/_internal/utils/misc.py | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'src') 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 -- cgit v1.2.1