diff options
author | Zac Medico <zmedico@gentoo.org> | 2009-03-07 20:25:19 +0000 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2009-03-07 20:25:19 +0000 |
commit | 8a69acd8ba05b91d111f4a22b25065fcfc42fc23 (patch) | |
tree | dedbf63dbf9019b8174ab8c98e53c18ea10a1671 | |
parent | 1a591a6ee59ad59b2107fe113fcbfd3cb30879aa (diff) | |
download | portage-8a69acd8ba05b91d111f4a22b25065fcfc42fc23.tar.gz portage-8a69acd8ba05b91d111f4a22b25065fcfc42fc23.tar.bz2 portage-8a69acd8ba05b91d111f4a22b25065fcfc42fc23.zip |
Fix __getitem__ to convert mtime to long, and remove unreachable code
from _parse_data().
svn path=/main/trunk/; revision=12776
-rw-r--r-- | pym/portage/cache/flat_hash.py | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/pym/portage/cache/flat_hash.py b/pym/portage/cache/flat_hash.py index dda380e1c..f6bf6d078 100644 --- a/pym/portage/cache/flat_hash.py +++ b/pym/portage/cache/flat_hash.py @@ -33,6 +33,16 @@ class database(fs_template.FsBased): """Backward compatibility with old cache that uses mtime mangling.""" d["_mtime_"] = long(os.fstat(myf.fileno()).st_mtime) + mtime = d.get('_mtime_') + if mtime is None: + raise cache_errors.CacheCorruption(cpv, + '_mtime_ field is missing') + try: + mtime = long(mtime) + except ValueError: + raise cache_errors.CacheCorruption(cpv, + '_mtime_ conversion to long failed: %s' % (mtime,)) + d['_mtime_'] = mtime return d finally: myf.close() @@ -52,14 +62,6 @@ class database(fs_template.FsBased): else: d["_eclasses_"] = {} return d - - for x in self._known_keys: - if x not in d: - d[x] = '' - - - return d - def _setitem(self, cpv, values): # import pdb;pdb.set_trace() |