Source code for bspump.common.iterator
import collections.abc
import logging
from ..abc.generator import Generator
from ..abc.source import TriggerSource
L = logging.getLogger(__name__)
[docs]
class IteratorSource(TriggerSource):
"""
Description:
|
"""
[docs]
def __init__(
self, app, pipeline, iterator: collections.abc.Iterator, id=None, config=None
):
"""
Description:
|
"""
super().__init__(app, pipeline, id=id, config=config)
self.Iterator = iterator
[docs]
async def cycle(self, *args, **kwags):
"""
Description:
|
"""
for event in self.Iterator:
await self.process(event)
[docs]
class IteratorGenerator(Generator):
"""
Description:
|
"""
[docs]
async def generate(self, context, event, depth):
"""
Description:
|
"""
for item in event:
self.Pipeline.inject(context, item, depth)