]> git.openstreetmap.org Git - nominatim.git/blobdiff - nominatim/tokenizer/sanitizers/config.py
move postcode matcher in a separate file
[nominatim.git] / nominatim / tokenizer / sanitizers / config.py
index 3ff681b96e2115eda4293b98b22eb628d414f6a9..ce5ce1eb8b5606dd702efb2b582facf1a48a0626 100644 (file)
@@ -33,7 +33,7 @@ class SanitizerConfig(UserDict):
             return None if default is None else list(default)
 
         if isinstance(values, str):
-            return [values]
+            return [values] if values else []
 
         if not isinstance(values, (list, tuple)):
             raise UsageError(f"Parameter '{param}' must be string or list of strings.")
@@ -44,6 +44,20 @@ class SanitizerConfig(UserDict):
         return values
 
 
+    def get_bool(self, param, default=None):
+        """ Extract a configuration parameter as a boolean.
+            The parameter must be one of the yaml boolean values or an
+            user error will be raised. If `default` is given, then the parameter
+            may also be missing or empty.
+        """
+        value = self.data.get(param, default)
+
+        if not isinstance(value, bool):
+            raise UsageError(f"Parameter '{param}' must be a boolean value ('yes' or 'no'.")
+
+        return value
+
+
     def get_delimiter(self, default=',;'):
         """ Return the 'delimiter' parameter in the configuration as a
             compiled regular expression that can be used to split the names on the