From 7a0b4821df6e57a9465f78d71fb1b80fab86c875 Mon Sep 17 00:00:00 2001 From: Mark Adamson <3154635+mungojam@users.noreply.github.com> Date: Tue, 24 Oct 2023 23:03:29 +0100 Subject: [PATCH 1/4] pass through pipfile index urls when creating https session so that keyring works --- pipenv/project.py | 3 ++- pipenv/utils/internet.py | 5 +++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/pipenv/project.py b/pipenv/project.py index 291607ef..15ade367 100644 --- a/pipenv/project.py +++ b/pipenv/project.py @@ -239,10 +239,11 @@ class Project: if self.sessions.get(source["name"]): session = self.sessions[source["name"]] else: - session = get_requests_session( + session = get_requests_session( self.s.PIPENV_MAX_RETRIES, source.get("verify_ssl", True), cache_dir=self.s.PIPENV_CACHE_DIR, + source=source.get("url"), ) self.sessions[source["name"]] = session return session diff --git a/pipenv/utils/internet.py b/pipenv/utils/internet.py index 77c68302..6ed420c8 100644 --- a/pipenv/utils/internet.py +++ b/pipenv/utils/internet.py @@ -8,10 +8,11 @@ from pipenv.patched.pip._internal.network.download import PipSession from pipenv.patched.pip._vendor.urllib3 import util as urllib3_util -def get_requests_session(max_retries=1, verify_ssl=True, cache_dir=USER_CACHE_DIR): +def get_requests_session(max_retries=1, verify_ssl=True, cache_dir=USER_CACHE_DIR, source=None): """Load requests lazily.""" pip_client_cert = os.environ.get("PIP_CLIENT_CERT") - requests_session = PipSession(cache=cache_dir, retries=max_retries) + index_urls = [source] if source else None + requests_session = PipSession(cache=cache_dir, retries=max_retries, index_urls=index_urls) if pip_client_cert: requests_session.cert = pip_client_cert if verify_ssl is False: From 2b1ebd03ba56e4516411b779c3a15e4cfb89b36f Mon Sep 17 00:00:00 2001 From: Mark Adamson <3154635+mungojam@users.noreply.github.com> Date: Tue, 31 Oct 2023 21:58:14 +0000 Subject: [PATCH 2/4] Fix trailing whitespace --- pipenv/project.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pipenv/project.py b/pipenv/project.py index 15ade367..7e96db12 100644 --- a/pipenv/project.py +++ b/pipenv/project.py @@ -239,7 +239,7 @@ class Project: if self.sessions.get(source["name"]): session = self.sessions[source["name"]] else: - session = get_requests_session( + session = get_requests_session( self.s.PIPENV_MAX_RETRIES, source.get("verify_ssl", True), cache_dir=self.s.PIPENV_CACHE_DIR, From 9fb2cfa157bd2dd8592e784000618f3e3198f887 Mon Sep 17 00:00:00 2001 From: Mark Adamson <3154635+mungojam@users.noreply.github.com> Date: Tue, 31 Oct 2023 22:06:57 +0000 Subject: [PATCH 3/4] black formatting --- pipenv/utils/internet.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/pipenv/utils/internet.py b/pipenv/utils/internet.py index 6ed420c8..04ab91cc 100644 --- a/pipenv/utils/internet.py +++ b/pipenv/utils/internet.py @@ -8,11 +8,15 @@ from pipenv.patched.pip._internal.network.download import PipSession from pipenv.patched.pip._vendor.urllib3 import util as urllib3_util -def get_requests_session(max_retries=1, verify_ssl=True, cache_dir=USER_CACHE_DIR, source=None): +def get_requests_session( + max_retries=1, verify_ssl=True, cache_dir=USER_CACHE_DIR, source=None +): """Load requests lazily.""" pip_client_cert = os.environ.get("PIP_CLIENT_CERT") index_urls = [source] if source else None - requests_session = PipSession(cache=cache_dir, retries=max_retries, index_urls=index_urls) + requests_session = PipSession( + cache=cache_dir, retries=max_retries, index_urls=index_urls + ) if pip_client_cert: requests_session.cert = pip_client_cert if verify_ssl is False: From 023b6bccf7b71b13449ef9420255d1bf81bc710a Mon Sep 17 00:00:00 2001 From: Mark Adamson <3154635+mungojam@users.noreply.github.com> Date: Sun, 12 Nov 2023 15:04:09 +0000 Subject: [PATCH 4/4] Add news entry --- news/5994.bugfix.rst | 1 + 1 file changed, 1 insertion(+) create mode 100644 news/5994.bugfix.rst diff --git a/news/5994.bugfix.rst b/news/5994.bugfix.rst new file mode 100644 index 00000000..2203dfff --- /dev/null +++ b/news/5994.bugfix.rst @@ -0,0 +1 @@ +Pass through pipfile index urls when creating https session so that keyring fully works