From bef93fa4924bbc49c390c6ce8e8190d248566b88 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=98=D0=B2=D0=B0=D0=BD=20=D0=94=D0=B7=D1=8E=D0=B1=D0=B5?= =?UTF-8?q?=D0=BD=D0=BA=D0=BE?= Date: Tue, 14 Sep 2021 09:56:41 +0300 Subject: [PATCH] fixed empty iterator console output error (StopIteration) --- pym/calculate/lib/utils/tools.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/pym/calculate/lib/utils/tools.py b/pym/calculate/lib/utils/tools.py index 6358331..bf38863 100644 --- a/pym/calculate/lib/utils/tools.py +++ b/pym/calculate/lib/utils/tools.py @@ -195,7 +195,6 @@ class SingletonParam(type): cls.instance[keyarg] = create_obj(*args, **kw) return cls.instance[keyarg] - def classificate(iterator): """ Классифицировать элементы по признаку (first первый last последний) @@ -209,8 +208,13 @@ def classificate(iterator): def __repr__(self): return "Mark(first=%s,last=%s)" % (self.first, self.last) + iterator = iter(iterator) - obj = next(iterator) + try: + obj = next(iterator) + except StopIteration: + #empty iterator + return try: obj_next = next(iterator) yield Mark(first=True, last=False), obj