]> git.openstreetmap.org Git - nominatim.git/blobdiff - nominatim/config.py
rename manual directory to man
[nominatim.git] / nominatim / config.py
index 64614bf14d7bd55f4a4c2a71f25cadc682ea5d65..f316280bb42bf1dfc71bb5b1e16704bbdfcafa5c 100644 (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.