From a48676e03c940acb71fe015cf86b1a91f7e357bb Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Thu, 28 Sep 2006 00:15:57 +0000 Subject: Catch a ValueError caused by corrupt cache for bug #149134. svn path=/main/trunk/; revision=4545 --- pym/cache/flat_hash.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'pym/cache') diff --git a/pym/cache/flat_hash.py b/pym/cache/flat_hash.py index 1c687ecf3..722e9f184 100644 --- a/pym/cache/flat_hash.py +++ b/pym/cache/flat_hash.py @@ -36,7 +36,11 @@ class database(fs_template.FsBased): raise KeyError(cpv) def _parse_data(self, data, cpv): - d = dict(map(lambda x:x.rstrip().split("=", 1), data)) + try: + d = dict(map(lambda x:x.rstrip("\n").split("=", 1), data)) + except ValueError, e: + # If a line is missing an "=", the split length is 1 instead of 2. + raise cache_errors.CacheCorruption(cpv, e) if "_eclasses_" in d: d["_eclasses_"] = reconstruct_eclasses(cpv, d["_eclasses_"]) return d -- cgit v1.2.3-1-g7c22