File tree 2 files changed +12
-12
lines changed
2 files changed +12
-12
lines changed Original file line number Diff line number Diff line change @@ -199,14 +199,19 @@ def _list_files(self, package_name: str):
199
199
if package and time .monotonic () < package .refreshed + self .ttl :
200
200
return
201
201
202
- if package_name not in self .list_packages ():
203
- raise NotFound (package_name )
204
-
205
202
logger .debug (f"Listing files in package '{ package_name } '" )
206
- package_url = self ._index [package_name ]
207
- url = urllib .parse .urljoin (self .index_url , package_url )
208
- response = self .session .get (url )
209
- response .raise_for_status ()
203
+ response = None
204
+ if time .monotonic () > (self ._index_t or 0.0 ) + self .ttl :
205
+ url = urllib .parse .urljoin (self .index_url , package_name )
206
+ response = self .session .get (url )
207
+ if not response or not response .ok :
208
+ if package_name not in self .list_packages ():
209
+ raise NotFound (package_name )
210
+ package_url = self ._index [package_name ]
211
+ url = urllib .parse .urljoin (self .index_url , package_url )
212
+ response = self .session .get (url )
213
+ response .raise_for_status ()
214
+
210
215
package = Package (package_name , files = {}, refreshed = time .monotonic ())
211
216
tree = lxml .etree .parse (io .BytesIO (response .content ), _html_parser )
212
217
Original file line number Diff line number Diff line change 1
1
"""Cached package index server."""
2
2
3
3
import os
4
- import sys
5
4
import logging
6
5
import urllib .parse
7
6
30
29
app = flask .Flask ("proxpi" )
31
30
app .jinja_loader = jinja2 .PackageLoader ("proxpi" )
32
31
cache = _cache .Cache .from_config ()
33
- if "--help" not in sys .argv :
34
- _cache_init_thread = _cache .Thread (target = cache .list_packages )
35
- _cache_init_thread .start ()
36
- app .before_first_request_funcs .append (_cache_init_thread .join )
37
32
if app .debug or app .testing :
38
33
logging .root .setLevel (logging .DEBUG )
39
34
for handler in logging .root .handlers :
You can’t perform that action at this time.
0 commit comments