in geneve/events_emitter.py [0:0]
def emit(self, root=None, *, timestamp=True, complete=False, count=1, corpus=None):
corpus = iter(corpus) if corpus else self.corpus
if timestamp:
timestamp = [datetime.now(timezone.utc).astimezone()]
if complete:
if root:
events = (events_from_root(root, self.__environment, timestamp, corpus) for _ in range(count))
else:
events = (events_from_root(root, self.__environment, timestamp, corpus) for _ in range(count) for root in self.__roots)
else:
if root:
events = (events_from_branch(random.choice(root), self.__environment, timestamp, root.meta, corpus) for _ in range(count))
else:
events = (
events_from_branch(random.choice(root), self.__environment, timestamp, root.meta, corpus)
for root in random.choices(self.__roots, k=count)
)
return chain(*events)