]> ToastFreeware Gitweb - philipp/winterrodeln/wrpylib.git/blobdiff - wrpylib/wrmwmarkup.py
Add webcam to Buttonleiste.
[philipp/winterrodeln/wrpylib.git] / wrpylib / wrmwmarkup.py
index 7ac2c98a3efe4b9ae0786571bc98f09d07d413ac..16ce286228021bc7d57113ffe072edfc180b9a7a 100644 (file)
@@ -3,7 +3,7 @@
 import re
 import xml.etree.ElementTree
 import collections
-from typing import Tuple, Optional, List, OrderedDict, Union, Dict
+from typing import Tuple, Optional, List, OrderedDict, Union, Dict, Any
 
 import jinja2
 from mwparserfromhell.nodes import Template, Wikilink
@@ -377,6 +377,11 @@ class Jinja2Tools:
     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], 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:
         args = []
         kwargs = {}