From: Christopher Larson Date: Sat, 30 Apr 2016 19:43:54 +0000 (-0700) Subject: bitbake: bb.data_smart: use iter() for __len__ X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=39b79efc7e39f677287447a608892790b57e3e00;p=thirdparty%2Fopenembedded%2Fopenembedded-core-contrib.git bitbake: bb.data_smart: use iter() for __len__ It seems the frozenset constructor in pypy runs len(), so we can't pass the DataSmart instance directly to it, instead pass the iterator. Fixes pypy support. (Bitbake rev: b492836e08745e04bd9ba2fb0b56a680a5fdce79) Signed-off-by: Christopher Larson Signed-off-by: Richard Purdie --- diff --git a/bitbake/lib/bb/data_smart.py b/bitbake/lib/bb/data_smart.py index fa1e7942796..2ab884bb392 100644 --- a/bitbake/lib/bb/data_smart.py +++ b/bitbake/lib/bb/data_smart.py @@ -917,7 +917,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)