From 3f7c1449c862ddfaec19499323f6807624b05aba Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Tue, 22 Apr 2008 18:30:54 +0000 Subject: Make dir_get_metadata() retry if a httplib.ResponseNotReady exception occurs. (trunk r9943) svn path=/main/branches/2.1.2/; revision=9944 --- pym/getbinpkg.py | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'pym') diff --git a/pym/getbinpkg.py b/pym/getbinpkg.py index 861e98dd8..0f2cd501b 100644 --- a/pym/getbinpkg.py +++ b/pym/getbinpkg.py @@ -620,6 +620,14 @@ def dir_get_metadata(baseurl, conn=None, chunk_size=3000, verbose=1, usingcache= # connection before sending a valid response". conn, protocol, address, params, headers = create_conn( baseurl) + except httplib.ResponseNotReady: + # With some http servers this error is known to be thrown + # from conn.getresponse() in make_http_request() when the + # remote file does not have appropriate read permissions. + # Maybe it's possible to recover from this exception in + # cases though, so retry. + conn, protocol, address, params, headers = create_conn( + baseurl) if myid and myid[0]: metadata[baseurl]["data"][x] = make_metadata_dict(myid) -- cgit v1.2.3-1-g7c22