def py__iter__(self): if type(self.obj) not in (str, list, tuple, unicode, bytes, bytearray, dict): # Get rid of side effects, we won't call custom `__getitem__`s. return for part in self.obj: yield LazyKnownContext(create(self.evaluator, part))
def py__iter__(self): if type(self.obj) not in (str, list, tuple, unicode, bytes, bytearray, dict): # Get rid of side effects, we won't call custom `__getitem__`s. return for i, part in enumerate(self.obj): if i > 20: # Should not go crazy with large iterators break yield LazyKnownContext(create(self.evaluator, part))
def unpack(self, func=None): yield None, LazyKnownContext(self._execution_context.instance) for values in self._get_var_args().unpack(func): yield values