diff --git a/src/python/jw/pkg/lib/App.py b/src/python/jw/pkg/lib/App.py index 24dcdcb0..1287b527 100644 --- a/src/python/jw/pkg/lib/App.py +++ b/src/python/jw/pkg/lib/App.py @@ -137,7 +137,7 @@ class App: # export log(DEBUG, '-------------- Running: >' + ' '.join(sys.argv) + '<') - cmd_classes = LoadTypes( + cmd_classes: LoadTypes[AbstractCmd] = LoadTypes( modules if modules else ['__main__'], type_name_filter = name_filter, type_filter = [AbstractCmd], # type: ignore[type-abstract] diff --git a/src/python/jw/pkg/lib/Types.py b/src/python/jw/pkg/lib/Types.py index 93796ba2..f38013c2 100644 --- a/src/python/jw/pkg/lib/Types.py +++ b/src/python/jw/pkg/lib/Types.py @@ -11,7 +11,7 @@ from .log import OFF, log, parse_log_level if TYPE_CHECKING: from collections.abc import Iterator - from typing import Any + from typing import Any, Sequence T = TypeVar('T') @@ -45,7 +45,7 @@ class LoadTypes(Types[T]): # export self, mod_names: list[str], type_name_filter: str | None = None, - type_filter: list[type[T]] = [], + type_filter: Sequence[type[Any]] | None = None, debug_level = None, ): if debug_level is None: @@ -65,9 +65,12 @@ class LoadTypes(Types[T]): # export log(self.__debug_level, *args, **kwargs) def _stringify(self): + tf = 'None' if self.__type_filter is None else ( + ', '.join([str(f) for f in self.__type_filter]) + ) return [ 'type_name_filter: ' + str(self.__type_name_filter), - 'type_filter: ' + ', '.join([str(f) for f in self.__type_filter]), + 'type_filter: ' + tf, 'mod_names: ' + ', '.join(self.__mod_names), ]