From dcdf69890c161bc9327dbe74478ecdcd38c00931 Mon Sep 17 00:00:00 2001 From: Jan Lindemann Date: Tue, 21 Apr 2026 11:15:47 +0200 Subject: [PATCH] lib.Distro.default_pkg_filter: Add property Add a default_pkg_filter parameter to Distro's constructor defaulting to None, and expose it via the .default_pkg_filter property. As of this commit, no code in jw-pkg does anything meaningful with it. Signed-off-by: Jan Lindemann --- src/python/jw/pkg/lib/Distro.py | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/src/python/jw/pkg/lib/Distro.py b/src/python/jw/pkg/lib/Distro.py index cbde46bf..1e0058a2 100644 --- a/src/python/jw/pkg/lib/Distro.py +++ b/src/python/jw/pkg/lib/Distro.py @@ -7,6 +7,7 @@ from functools import cached_property if TYPE_CHECKING: import Iterable + from .PackageFilter import PackageFilter import abc, importlib, re @@ -17,12 +18,19 @@ from .log import * class Distro(abc.ABC): - def __init__(self, ec: ExecContext, id: str|None=None, os_release_str: str|None=None): + def __init__( + self, + ec: ExecContext, + id: str|None=None, + os_release_str: str|None=None, + default_pkg_filter: PackageFilter|None=None, + ) -> None: assert ec is not None assert id is not None self.__exec_context = ec - self.__os_release_str: str|None = os_release_str self.__id: str|None = None + self.__os_release_str: str|None = os_release_str + self.__default_pkg_filter = default_pkg_filter # Names that can be used by code outside this class to retrieve # distribution properties by @@ -267,6 +275,10 @@ class Distro(abc.ABC): def ctx(self) -> ExecContext: return self.__exec_context + @property + def default_pkg_filter(self) -> str: + return self.__default_pkg_filter + async def run(self, *args, **kwargs) -> Result: return await self.__exec_context.run(*args, **kwargs)