summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2009-01-12 08:26:29 +0000
committerZac Medico <zmedico@gentoo.org>2009-01-12 08:26:29 +0000
commit62133aa327d1754eaaee5d16c59d6eb11efa4917 (patch)
treefd5a411e34dc627e03d2fb79f04d02a519418c5e
parentInside action_sync(), check for the git binary when necessary and bail out (diff)
downloadportage-multirepo-62133aa327d1754eaaee5d16c59d6eb11efa4917.tar.gz
portage-multirepo-62133aa327d1754eaaee5d16c59d6eb11efa4917.tar.bz2
portage-multirepo-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.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")