diff options
author | Zac Medico <zmedico@gentoo.org> | 2009-01-12 08:26:29 +0000 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2009-01-12 08:26:29 +0000 |
commit | 62133aa327d1754eaaee5d16c59d6eb11efa4917 (patch) | |
tree | fd5a411e34dc627e03d2fb79f04d02a519418c5e | |
parent | 56c570bb01aa738175bcf316461caa95473de659 (diff) | |
download | portage-62133aa327d1754eaaee5d16c59d6eb11efa4917.tar.gz portage-62133aa327d1754eaaee5d16c59d6eb11efa4917.tar.bz2 portage-62133aa327d1754eaaee5d16c59d6eb11efa4917.zip |
Bug #254421 - Make dir_get_metadata() handle 'Connection refused' socket.error
from ftplib connection attempt. (trunk r12418)
svn path=/main/branches/2.1.6/; revision=12474
-rw-r--r-- | pym/portage/getbinpkg.py | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/pym/portage/getbinpkg.py b/pym/portage/getbinpkg.py index 9d59437b4..d42b51781 100644 --- a/pym/portage/getbinpkg.py +++ b/pym/portage/getbinpkg.py @@ -9,6 +9,7 @@ import portage.xpak import HTMLParser import sys import os +import socket import time import tempfile import base64 @@ -474,7 +475,14 @@ def dir_get_metadata(baseurl, conn=None, chunk_size=3000, verbose=1, usingcache= if makepickle is None: makepickle = "/var/cache/edb/metadata.idx.most_recent" - conn,protocol,address,params,headers = create_conn(baseurl, conn) + try: + conn, protocol, address, params, headers = create_conn(baseurl, conn) + except socket.error, e: + # ftplib.FTP(host) can raise errors like this: + # socket.error: (111, 'Connection refused') + sys.stderr.write("!!! %s\n" % (e,)) + return {} + out = sys.stdout try: metadatafile = open("/var/cache/edb/remote_metadata.pickle") |