diff --git a/weboob/tools/browser2/page.py b/weboob/tools/browser2/page.py index 46938a8126fffe9b284e35a6a9e215790ea217bb..fcd907440105df5d4204d107e7c781e83a478e82 100644 --- a/weboob/tools/browser2/page.py +++ b/weboob/tools/browser2/page.py @@ -654,7 +654,7 @@ class ListElement(AbstractElement): def __init__(self, *args, **kwargs): super(ListElement, self).__init__(*args, **kwargs) self.logger = getLogger(self.__class__.__name__.lower()) - self.objects = {} + self.objects = OrderedDict() def __call__(self, *args, **kwargs): for key, value in kwargs.iteritems(): @@ -676,11 +676,15 @@ def __iter__(self): yield obj if self.flush_at_end: - for obj in self.objects.itervalues(): + for obj in self.flush(): yield obj self.check_next_page() + def flush(self): + for obj in self.objects.itervalues(): + yield obj + def check_next_page(self): if not hasattr(self, 'next_page'): return