From 9e6153a16c0900cbb77e6c0a8c26f14e8433dfef Mon Sep 17 00:00:00 2001 From: Romain Bignon Date: Mon, 21 Mar 2011 13:34:32 +0100 Subject: [PATCH] new function 'limit' to limit the number of iterations --- weboob/tools/misc.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/weboob/tools/misc.py b/weboob/tools/misc.py index 610868b4..de905a62 100644 --- a/weboob/tools/misc.py +++ b/weboob/tools/misc.py @@ -23,8 +23,8 @@ import traceback import types -__all__ = ['get_backtrace', 'get_bytes_size', 'html2text', 'iter_fields', - 'local2utc', 'to_unicode', 'utc2local'] +__all__ = ['get_backtrace', 'get_bytes_size', 'html2text', 'iter_fields', + 'local2utc', 'to_unicode', 'utc2local', 'limit'] def get_backtrace(empty="Empty backtrace."): @@ -107,3 +107,11 @@ def utc2local(date): date = date.replace(tzinfo=tz.tzutc()) date = date.astimezone(tz.tzlocal()) return date + +def limit(iterator, lim): + count = 0 + iterator = iter(iterator) + while count < lim: + yield iterator.next() + count += 1 + raise StopIteration()