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)