Converted encoding to UTF-8.
[philipp/winterrodeln/wrpylib.git] / wrpylib / wrvalidators.py
index 9d9f1b69c7466dc734cb15ae826ec6851fba159d..127b5132fb50f111d72b2276c7f1075f2cd152fe 100644 (file)
@@ -1,5 +1,4 @@
 #!/usr/bin/python3.4
-# -*- coding: utf-8 -*-
 # $Id$
 # $HeadURL$
 """
@@ -16,9 +15,9 @@ import urllib.parse
 import re
 from collections import OrderedDict, namedtuple
 
-import mwparserfromhell
+import mwparserfromhell  # https://github.com/earwig/mwparserfromhell
 
-from wrpylib.mwmarkup import template_to_table
+from wrpylib.mwmarkup import format_template_table
 
 
 # FromToConverter type
@@ -670,9 +669,8 @@ class ValueErrorList(ValueError):
     pass
 
 
-def wikibox_from_template(template, name, converter_dict):
-    if template.name.strip() != name:
-        raise ValueError('Box name has to be "{}"'.format(name))
+def wikibox_from_template(template, converter_dict):
+    """Returns an ordered dict."""
     result = OrderedDict()
     exceptions_dict = OrderedDict()
     # check values
@@ -701,8 +699,8 @@ def wikibox_to_template(value, name, converter_dict):
 
 def template_from_str(value, name):
     wikicode = mwparserfromhell.parse(value)
-    template_list = wikicode.filter_templates(name)
-    if len(name) == 0:
+    template_list = [template for template in wikicode.filter_templates(name) if template.name.strip() == name]
+    if len(template_list) == 0:
         raise ValueError('No "{}" template was found'.format(name))
     if len(template_list) > 1:
         raise ValueError('{} "{}" templates were found'.format(len(template_list), name))
@@ -711,7 +709,7 @@ def template_from_str(value, name):
 
 def wikibox_from_str(value, name, converter_dict):
     template = template_from_str(value, name)
-    return wikibox_from_template(template, name, converter_dict)
+    return wikibox_from_template(template, converter_dict)
 
 
 def wikibox_to_str(value, name, converter_dict):
@@ -752,7 +750,8 @@ RODELBAHNBOX_DICT = OrderedDict([
 
 
 def rodelbahnbox_from_template(template):
-    return wikibox_from_template(template, RODELBAHNBOX_TEMPLATE_NAME, RODELBAHNBOX_DICT)
+    """Returns an ordered dict."""
+    return wikibox_from_template(template, RODELBAHNBOX_DICT)
 
 
 def rodelbahnbox_to_template(value):
@@ -760,12 +759,13 @@ def rodelbahnbox_to_template(value):
 
 
 def rodelbahnbox_from_str(value):
+    """Returns an ordered dict."""
     return wikibox_from_str(value, RODELBAHNBOX_TEMPLATE_NAME, RODELBAHNBOX_DICT)
 
 
 def rodelbahnbox_to_str(value):
     template = rodelbahnbox_to_template(value)
-    template_to_table(template, 20)
+    format_template_table(template, 20)
     return str(template)
 
 
@@ -792,6 +792,7 @@ GASTHAUSBOX_DICT = OrderedDict([
 
 
 def gasthausbox_from_template(template):
+    """Returns an ordered dict."""
     return wikibox_from_template(template, GASTHAUSBOX_TEMPLATE_NAME, GASTHAUSBOX_DICT)
 
 
@@ -800,12 +801,13 @@ def gasthausbox_to_template(value):
 
 
 def gasthausbox_from_str(value):
+    """Returns an ordered dict."""
     return wikibox_from_str(value, GASTHAUSBOX_TEMPLATE_NAME, GASTHAUSBOX_DICT)
 
 
 def gasthausbox_to_str(value):
     template = gasthausbox_to_template(value)
-    template_to_table(template, 17)
+    format_template_table(template, 17)
     return str(template)