From b05e7189df0daf32e5f582b8db5c62087e5e8613 Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Sat, 10 Jan 2009 19:52:44 +0000 Subject: Bug #254421 - Make dir_get_metadata() handle 'Connection refused' socket.error from ftplib connection attempt. svn path=/main/trunk/; revision=12418 --- pym/portage/getbinpkg.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'pym/portage/getbinpkg.py') 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") -- cgit v1.2.3-1-g7c22