From: Zac Medico Date: Tue, 22 Apr 2008 18:30:54 +0000 (-0000) Subject: Make dir_get_metadata() retry if a httplib.ResponseNotReady exception X-Git-Tag: v2.1.5~152 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=3f7c1449c862ddfaec19499323f6807624b05aba;p=portage.git Make dir_get_metadata() retry if a httplib.ResponseNotReady exception occurs. (trunk r9943) svn path=/main/branches/2.1.2/; revision=9944 --- 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)