From e0f20158a5404eb3556e21eaf3f788f1650f8ecd Mon Sep 17 00:00:00 2001 From: John Ralls Date: Fri, 22 Mar 2024 17:50:55 +0100 Subject: [PATCH] Check for name attribute in source parameter. Before trying to use it, return None if it's not there. Fixes https://github.com/pypa/pipenv/issues/6106 --- pipenv/project.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pipenv/project.py b/pipenv/project.py index f06ef93cc..7afa4c087 100644 --- a/pipenv/project.py +++ b/pipenv/project.py @@ -236,6 +236,8 @@ def get_package_categories(self, for_lockfile=False): return ["packages", "dev-packages"] + list(package_categories) def get_requests_session_for_source(self, source): + if not (source and source.get("name")): + return None if self.sessions.get(source["name"]): session = self.sessions[source["name"]] else: @@ -268,6 +270,8 @@ def get_hash_from_link(self, hash_cache, link): def get_hashes_from_pypi(self, ireq, source): pkg_url = f"https://pypi.org/pypi/{ireq.name}/json" session = self.get_requests_session_for_source(source) + if not session: + return None try: collected_hashes = set() # Grab the hashes from the new warehouse API.