diff options
author | Zac Medico <zmedico@gentoo.org> | 2011-09-03 11:39:05 -0700 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2011-09-03 11:39:05 -0700 |
commit | bc636fe8f9720957f29e5a07cd98531f20368ddd (patch) | |
tree | 2904f9452090b7019044b1e24e1cc0d56002f579 /pym/portage/dbapi/vartree.py | |
parent | tests/emerge: add minimal herds.xml (diff) | |
download | portage-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.py | 7 |
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 |