diff options
Diffstat (limited to 'import-layers/yocto-poky/bitbake/lib/bb/data_smart.py')
-rw-r--r-- | import-layers/yocto-poky/bitbake/lib/bb/data_smart.py | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/import-layers/yocto-poky/bitbake/lib/bb/data_smart.py b/import-layers/yocto-poky/bitbake/lib/bb/data_smart.py index fa1e79427..f100446dc 100644 --- a/import-layers/yocto-poky/bitbake/lib/bb/data_smart.py +++ b/import-layers/yocto-poky/bitbake/lib/bb/data_smart.py @@ -135,7 +135,7 @@ class VariableParse: self.contains[k] = parser.contains[k].copy() else: self.contains[k].update(parser.contains[k]) - value = utils.better_eval(codeobj, DataContext(self.d)) + value = utils.better_eval(codeobj, DataContext(self.d), {'d' : self.d}) return str(value) @@ -372,7 +372,7 @@ class DataSmart(MutableMapping): def expandWithRefs(self, s, varname): - if not isinstance(s, basestring): # sanity check + if not isinstance(s, str): # sanity check return VariableParse(varname, self, s) if varname and varname in self.expand_cache: @@ -397,8 +397,7 @@ class DataSmart(MutableMapping): except bb.parse.SkipRecipe: raise except Exception as exc: - exc_class, exc, tb = sys.exc_info() - raise ExpansionError, ExpansionError(varname, s, exc), tb + raise ExpansionError(varname, s, exc) from exc varparse.value = s @@ -917,7 +916,7 @@ class DataSmart(MutableMapping): yield k def __len__(self): - return len(frozenset(self)) + return len(frozenset(iter(self))) def __getitem__(self, item): value = self.getVar(item, False) @@ -966,4 +965,4 @@ class DataSmart(MutableMapping): data.update({i:value}) data_str = str([(k, data[k]) for k in sorted(data.keys())]) - return hashlib.md5(data_str).hexdigest() + return hashlib.md5(data_str.encode("utf-8")).hexdigest() |