From bc636fe8f9720957f29e5a07cd98531f20368ddd Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Sat, 3 Sep 2011 11:39:05 -0700 Subject: Handle unpickle AttributeError (bug #381705). --- pym/portage/util/mtimedb.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'pym/portage/util/mtimedb.py') diff --git a/pym/portage/util/mtimedb.py b/pym/portage/util/mtimedb.py index 67f93e819..bc4f97c53 100644 --- a/pym/portage/util/mtimedb.py +++ b/pym/portage/util/mtimedb.py @@ -9,6 +9,7 @@ try: except ImportError: import pickle +import errno import portage from portage import _unicode_encode from portage.data import portage_gid, uid @@ -33,8 +34,11 @@ class MtimeDB(dict): d = 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(_("!!! Error loading '%s': %s\n") % \ (filename, str(e)), noiselevel=-1) del e -- cgit v1.2.3-1-g7c22