From a749d66d6ea68922035a67f98e5c189327b5caeb Mon Sep 17 00:00:00 2001 From: Emmanuel Garette Date: Tue, 25 Aug 2026 08:59:20 +0200 Subject: [PATCH] fix: main_namespace is not mandatory (for example for risotto) --- src/rougail/convert/collect.py | 8 ++++++++ src/rougail/structural_directory/__init__.py | 17 ++++++++++------- 2 files changed, 18 insertions(+), 7 deletions(-) diff --git a/src/rougail/convert/collect.py b/src/rougail/convert/collect.py index ed481dacb..ea0feaa59 100644 --- a/src/rougail/convert/collect.py +++ b/src/rougail/convert/collect.py @@ -37,6 +37,7 @@ from .object_model import ( ) from ..i18n import _ from ..error import DictConsistencyError +from ..tiramisu import CONVERT_OPTION class CollectFamily: @@ -197,7 +198,14 @@ class CollectVariable: ) new_params = [] namespace = self.objectspace.namespace + params_data = list(CONVERT_OPTION.get(self.user_type, {}).get("params", {})) for key, val in params.items(): + if params_data and key not in params_data: + raise DictConsistencyError( + _('params "{0}" is not a known parameters with type "{1}" for "{2}" (the list of possible parameters is {3})').format(key, self.user_type, self.path, display_list(params_data, add_quote=True)), + 92, + self.sources, + ) try: new_params.append( AnyParam( diff --git a/src/rougail/structural_directory/__init__.py b/src/rougail/structural_directory/__init__.py index 043042eaa..686eabc6e 100644 --- a/src/rougail/structural_directory/__init__.py +++ b/src/rougail/structural_directory/__init__.py @@ -64,15 +64,18 @@ class Walker: main_structures: Optional[List[str]] = None, isolated_namespace: bool = True, ) -> None: - directory_dict = chain( - ( + if not main_namespace: + directory_dict = extra_structures.items() + else: + directory_dict = chain( ( - main_namespace, - main_structures, + ( + main_namespace, + main_structures, + ), ), - ), - extra_structures.items(), - ) + extra_structures.items(), + ) for namespace, directories in directory_dict: self.convert.create_namespace(namespace, isolated_namespace) for filename in self.get_sorted_filenames(directories):