Skip to content

Commit d7aed28

Browse files
matteiusoz123
authored andcommitted
Get the cache working for obtaining file hashes
1 parent 4a59b92 commit d7aed28

File tree

3 files changed

+12
-11
lines changed

3 files changed

+12
-11
lines changed

pipenv/project.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -240,7 +240,9 @@ def get_requests_session_for_source(self, source):
240240
session = self.sessions[source["name"]]
241241
else:
242242
session = get_requests_session(
243-
self.s.PIPENV_MAX_RETRIES, source.get("verify_ssl", True)
243+
self.s.PIPENV_MAX_RETRIES,
244+
source.get("verify_ssl", True),
245+
cache_dir=self.s.PIPENV_CACHE_DIR,
244246
)
245247
self.sessions[source["name"]] = session
246248
return session

pipenv/utils/fileutils.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,8 @@
1212
from urllib import request as urllib_request
1313
from urllib.parse import quote, urlparse
1414

15-
from pipenv.patched.pip._vendor.requests import Session
15+
from pipenv.patched.pip._internal.locations import USER_CACHE_DIR
16+
from pipenv.patched.pip._internal.network.download import PipSession
1617
from pipenv.utils import err
1718

1819

@@ -114,12 +115,12 @@ def path_to_url(path):
114115

115116

116117
@contextmanager
117-
def open_file(link, session: Optional[Session] = None, stream: bool = True):
118+
def open_file(link, session: Optional[PipSession] = None, stream: bool = False):
118119
"""Open local or remote file for reading.
119120
120121
:param pipenv.patched.pip._internal.index.Link link: A link object from resolving dependencies with
121122
pip, or else a URL.
122-
:param Optional[Session] session: A :class:`~requests.Session` instance
123+
:param Optional[PipSession] session: A :class:`~PipSession` instance
123124
:param bool stream: Whether to stream the content if remote, default True
124125
:raises ValueError: If link points to a local directory.
125126
:return: a context manager to the opened file-like object
@@ -145,7 +146,7 @@ def open_file(link, session: Optional[Session] = None, stream: bool = True):
145146
# Remote URL
146147
headers = {"Accept-Encoding": "identity"}
147148
if not session:
148-
session = Session()
149+
session = PipSession(cache=USER_CACHE_DIR)
149150
resp = session.get(link, headers=headers, stream=stream)
150151
if resp.status_code != 200:
151152
err.print(f"HTTP error {resp.status_code} while getting {link}")

pipenv/utils/internet.py

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,19 +3,17 @@
33
from html.parser import HTMLParser
44
from urllib.parse import urlparse
55

6-
from pipenv.patched.pip._vendor import requests
7-
from pipenv.patched.pip._vendor.requests.adapters import HTTPAdapter
6+
from pipenv.patched.pip._internal.locations import USER_CACHE_DIR
7+
from pipenv.patched.pip._internal.network.download import PipSession
88
from pipenv.patched.pip._vendor.urllib3 import util as urllib3_util
99

1010

11-
def get_requests_session(max_retries=1, verify_ssl=True):
11+
def get_requests_session(max_retries=1, verify_ssl=True, cache_dir=USER_CACHE_DIR):
1212
"""Load requests lazily."""
1313
pip_client_cert = os.environ.get("PIP_CLIENT_CERT")
14-
requests_session = requests.Session()
14+
requests_session = PipSession(cache=cache_dir, retries=max_retries)
1515
if pip_client_cert:
1616
requests_session.cert = pip_client_cert
17-
adapter = HTTPAdapter(max_retries=max_retries)
18-
requests_session.mount("https://", adapter)
1917
if verify_ssl is False:
2018
requests_session.verify = False
2119
return requests_session

0 commit comments

Comments
 (0)