]> ToastFreeware Gitweb - philipp/winterrodeln/wrpylib.git/commitdiff
Omit empty parameters in key/value templates.
authorPhilipp Spitzer <philipp@spitzer.priv.at>
Mon, 6 Jun 2022 15:36:30 +0000 (17:36 +0200)
committerPhilipp Spitzer <philipp@spitzer.priv.at>
Mon, 6 Jun 2022 15:36:30 +0000 (17:36 +0200)
wrpylib/wrmwmarkup.py

index 70de0ee083e14001af5c328b7ce91ac82747f44b..16ce286228021bc7d57113ffe072edfc180b9a7a 100644 (file)
@@ -377,8 +377,9 @@ class Jinja2Tools:
     def list_template(self, name: str, value: List[str]) -> str:
         return str(wrpylib.mwmarkup.create_template(name, value))
 
     def list_template(self, name: str, value: List[str]) -> str:
         return str(wrpylib.mwmarkup.create_template(name, value))
 
-    def key_value_template(self, name: str, value: Dict[str, Any]) -> str:
-        value = {k: str(v) for k, v in value.items()}
+    def key_value_template(self, name: str, value: Dict[str, Any], keep_empty: bool = False) -> str:
+        value = {k: str(v) for k, v in value.items()
+                 if keep_empty or (v is not None and not isinstance(v, jinja2.Undefined) and str(v).strip() != '')}
         return str(wrpylib.mwmarkup.create_template(name, [], value))
 
     def json_template(self, value) -> str:
         return str(wrpylib.mwmarkup.create_template(name, [], value))
 
     def json_template(self, value) -> str: