Don't terminate with a backtrace when a 404 is encountered. This
authorFabian Groffen <grobian@gentoo.org>
Thu, 8 Nov 2007 21:58:39 +0000 (21:58 -0000)
committerFabian Groffen <grobian@gentoo.org>
Thu, 8 Nov 2007 21:58:39 +0000 (21:58 -0000)
try/catch makes it just slighlty better, but not really as nice as it
should be (lots of misalignment, redundant/double data and missing data):

% emerge -Kgp gawk

These are the packages that would be merged, in order:

Calculating dependencies -

Fetching binary packages info...
!!! Unable to get listing: 404 Server did not respond successfully (404: Not Found)
  -- DONE!
                                                                              ... done!

svn path=/main/branches/prefix/; revision=8463

pym/portage/getbinpkg.py

index 64f9ade51185445b2815f48f73e930606ba9d0ec..4261d7c785a7a3b2da6b9836097518ac42a6f725 100644 (file)
@@ -480,7 +480,13 @@ def dir_get_metadata(baseurl, conn=None, chunk_size=3000, verbose=1, usingcache=
        if not metadata[baseurl].has_key("data"):
                metadata[baseurl]["data"]={}
 
-       filelist = dir_get_list(baseurl, conn)
+       try:
+               filelist = dir_get_list(baseurl, conn)
+       except Exception, e:
+               sys.stderr.write("!!! "+str(e)+"\n")
+               sys.stderr.flush()
+               return metadata[baseurl]["data"]
+
        tbz2list = match_in_array(filelist, suffix=".tbz2")
        metalist = match_in_array(filelist, prefix="metadata.idx")
        del filelist