move flatten_config_list into config module

For general usage by other modules.
This commit is contained in:
Sarah Hoffmann
2021-10-04 11:56:54 +02:00
parent 19d4e047f6
commit 5a36559834
2 changed files with 24 additions and 19 deletions

View File

@@ -12,6 +12,27 @@ from nominatim.errors import UsageError
LOG = logging.getLogger()
def flatten_config_list(content, section=''):
""" Flatten YAML configuration lists that contain include sections
which are lists themselves.
"""
if not content:
return []
if not isinstance(content, list):
raise UsageError(f"List expected in section '{section}'.")
output = []
for ele in content:
if isinstance(ele, list):
output.extend(flatten_config_list(ele, section))
else:
output.append(ele)
return output
class Configuration:
""" Load and manage the project configuration.