summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2009-01-10 19:52:44 +0000
committerZac Medico <zmedico@gentoo.org>2009-01-10 19:52:44 +0000
commitb05e7189df0daf32e5f582b8db5c62087e5e8613 (patch)
treea79658c6f58c22283a099b7358d1404a3a5b46c5
parentInside action_sync(), check for the git binary when necessary and bail out (diff)
downloadportage-multirepo-b05e7189df0daf32e5f582b8db5c62087e5e8613.tar.gz
portage-multirepo-b05e7189df0daf32e5f582b8db5c62087e5e8613.tar.bz2
portage-multirepo-b05e7189df0daf32e5f582b8db5c62087e5e8613.zip
Bug #254421 - Make dir_get_metadata() handle 'Connection refused' socket.error
from ftplib connection attempt. svn path=/main/trunk/; revision=12418
-rw-r--r--pym/portage/getbinpkg.py10
1 files changed, 9 insertions, 1 deletions
diff --git a/pym/portage/getbinpkg.py b/pym/portage/getbinpkg.py
index 9d59437b..d42b5178 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")