Changed sqlalchemy type Binary to LargeBinary to avoid a deprecation warning.
[philipp/winterrodeln/wrpylib.git] / wrpylib / mwmarkup.py
index dd2d6bf6d2fb6f96f5a56bad9ae0a7edad3344c1..221f1cb31979131595495de6c46c98474ed87b4a 100644 (file)
@@ -1,5 +1,4 @@
 #!/usr/bin/python3.4
-# coding=utf-8
 # $Id$
 # $HeadURL$
 """For parsing MediaWiki text, we rely on the package mwparserfromhell (https://github.com/earwig/mwparserfromhell).
@@ -16,12 +15,12 @@ class ParseError(RuntimeError):
     pass
 
 
-def template_to_table(template, keylen=None):
+def format_template_table(template, keylen=None):
     """Reformat the given template to be tabular.
 
     >>> template
     {{foo|bar|bazz=7}}
-    >>> template_to_table(template)
+    >>> format_template_table(template)
     {{foo
     | bar
     | bazz = 7
@@ -41,3 +40,24 @@ def template_to_table(template, keylen=None):
             param.value = ' {}\n'.format(value)
         else:
             param.value = '\n'
+
+
+def format_template_oneline(template):
+    """Formats a template like this: {{template_name|param| }}
+    (whitespace is stripped and empty parameters are replaced with one space)."""
+    template.name = template.name.strip()
+    for param in template.params:
+        if param.showkey:
+            param.name = param.name.strip()
+        value = param.value.strip()
+        if value == '':
+            value = ' '
+        param.value = value
+
+
+def dbkey_to_title(value):
+    """Converts a article database key to a article title. Private function secureAndSplit() of the Title class
+    on line 3316 of includes/Title.php says:
+    $this->mTextform = str_replace( '_', ' ', $this->mDbkeyform );
+    No check for None because a missing title is an error."""
+    return value.replace('_', ' ')