diff --git a/src/python/jw/pkg/lib/ProcFilter.py b/src/python/jw/pkg/lib/ProcFilter.py index 63959955..11e3128c 100644 --- a/src/python/jw/pkg/lib/ProcFilter.py +++ b/src/python/jw/pkg/lib/ProcFilter.py @@ -42,3 +42,11 @@ class ProcPipeline: for f in self.__filters: ret = await f.run(ret.stdout) return ret + +async def run(data: bytes|Result, chain: ProcFilter|list[ProcFilter]|ProcPipeline|None = None) -> Result: + if chain is None: + if isinstance(data, Result): + return data + return Result(data, None, 0) + pl = chain if isinstance(chain, ProcPipeline) else ProcPipeline(chain) + return await pl.run(data)