aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2011-09-03 11:39:05 -0700
committerZac Medico <zmedico@gentoo.org>2011-09-03 11:39:05 -0700
commitbc636fe8f9720957f29e5a07cd98531f20368ddd (patch)
tree2904f9452090b7019044b1e24e1cc0d56002f579 /pym/portage/dbapi/vartree.py
parenttests/emerge: add minimal herds.xml (diff)
downloadportage-bc636fe8f9720957f29e5a07cd98531f20368ddd.tar.gz
portage-bc636fe8f9720957f29e5a07cd98531f20368ddd.tar.bz2
portage-bc636fe8f9720957f29e5a07cd98531f20368ddd.zip
Handle unpickle AttributeError (bug #381705).
Diffstat (limited to 'pym/portage/dbapi/vartree.py')
-rw-r--r--pym/portage/dbapi/vartree.py7
1 files changed, 5 insertions, 2 deletions
diff --git a/pym/portage/dbapi/vartree.py b/pym/portage/dbapi/vartree.py
index ba2cc0886..4df0576a4 100644
--- a/pym/portage/dbapi/vartree.py
+++ b/pym/portage/dbapi/vartree.py
@@ -555,8 +555,11 @@ class vardbapi(dbapi):
aux_cache = mypickle.load()
f.close()
del f
- except (IOError, OSError, EOFError, ValueError, pickle.UnpicklingError) as e:
- if isinstance(e, pickle.UnpicklingError):
+ except (AttributeError, EnvironmentError, ValueError, pickle.UnpicklingError) as e:
+ if isinstance(e, EnvironmentError) and \
+ getattr(e, 'errno', None) in (errno.ENOENT, errno.EACCES):
+ pass
+ else:
writemsg(_unicode_decode(_("!!! Error loading '%s': %s\n")) % \
(self._aux_cache_filename, e), noiselevel=-1)
del e