"""Common parent for all specialized readers and outputs and
default reader for the tasks without specialized reader and output."""
from ..task_result import TaskResult, KkrOutputReader
from ..sprkkr_output_reader import SprKkrOutputParser
from ...common.decorators import cached_property
[docs]
class DefaultResult(TaskResult):
[docs]
@cached_property
def output_values(self):
return {}
[docs]
class DefaultOutputParser(SprKkrOutputParser):
[docs]
async def read_output(self, stdout, result):
await self.read_commons(stdout, result)
# just consume the whole rest of output
result.output_lines = []
async for line in stdout:
result.output_lines.append(line.decode("utf8").rstrip())
return result
[docs]
class DefaultOutputReader(KkrOutputReader):
result_class = DefaultResult
parser_class = DefaultOutputParser