From fe1eb0014a78dec1249bd310e30af6f97fa549b3 Mon Sep 17 00:00:00 2001 From: Jan Lindemann Date: Mon, 27 Apr 2026 14:51:33 +0200 Subject: [PATCH] lib.ProcFilter: Add run() Add a run() function. It constructs a pipeline from various possible types, and runs its data parameter through it. Signed-off-by: Jan Lindemann --- src/python/jw/pkg/lib/ProcFilter.py | 8 ++++++++ 1 file changed, 8 insertions(+) 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)