|
|
|
@ -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
|
|
|
|
|