19 lines
552 B
Python
19 lines
552 B
Python
import sys
|
|
from typing import Iterator, List, Optional
|
|
from .. import Middleware, MiddlewareInterface, Engine
|
|
|
|
class TeeEngine(Engine):
|
|
def execute(self, data):
|
|
if isinstance(data, Iterator):
|
|
def _():
|
|
for item in data:
|
|
sys.stdout.write(str(item))
|
|
sys.stdout.flush()
|
|
yield item
|
|
sys.stdout.write('\n')
|
|
sys.stdout.flush()
|
|
ret = _()
|
|
else:
|
|
ret = data
|
|
print(data)
|
|
return ret |