From 475657c7dff3a2879fbc02d58a2231bbf04e2c83 Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Sun, 7 May 2006 20:36:02 +0000 Subject: Fix a potential NameError due to 'cpv' being undefined in the namespace and also fix a potential AttributeError due to an attempt to call reconstruct_eclasses() on a dict object that has already been reconstructed in flat_hash.database._parse_data(). svn path=/main/trunk/; revision=3329 --- pym/cache/metadata.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'pym/cache') diff --git a/pym/cache/metadata.py b/pym/cache/metadata.py index 1433ad489..1fb19b398 100644 --- a/pym/cache/metadata.py +++ b/pym/cache/metadata.py @@ -3,7 +3,7 @@ # License: GPL2 # $Id: metadata.py 1964 2005-09-03 00:16:16Z ferringb $ -import os, stat +import os, stat, types import flat_hash import cache_errors import eclass_cache @@ -67,8 +67,10 @@ class database(flat_hash.database): if "INHERITED" in d: d["_eclasses_"] = self.ec.get_eclass_data(d["INHERITED"].split(), from_master_only=True) del d["INHERITED"] - else: - d["_eclasses_"] = reconstruct_eclasses(cpv, d["_eclasses_"]) + elif not isinstance(d["_eclasses_"], types.DictType): + # We skip this if flat_hash.database._parse_data() was called above + # because it calls reconstruct_eclasses() internally. + d["_eclasses_"] = reconstruct_eclasses(None, d["_eclasses_"]) return d -- cgit v1.2.3-1-g7c22