Fixed unresolved usage of formencode.Invalid (one time with typo).
[philipp/winterrodeln/wrpylib.git] / wrpylib / wrmwmarkup.py
index aa2b51b76f2de498e7632233358f1dd1e61a403b..0e299fab7f5d5cc71b780c6f661498aa52cceecf 100644 (file)
@@ -2,7 +2,7 @@
 # -*- coding: iso-8859-15 -*-
 # $Id$
 # $HeadURL$
-"""This module contains winterrodeln specific functions that are prcocessing the MediaWiki markup.
+"""This module contains winterrodeln specific functions that are processing the MediaWiki markup.
 """
 import re
 import xml.etree.ElementTree
@@ -20,13 +20,6 @@ class ParseError(RuntimeError):
     pass
 
 
-def _conv(fnct, value, fieldname):
-    """Internal function.
-    Like one of the to_xxx functions (e.g. to_bool), but adds the field name to the error message"""
-    try: return fnct(value)
-    except formencode.Invalid as e: raise formencode.Invalid(u"Conversion error in field '%s': %s" % (fieldname, unicode(e)), e.value, e.state)
-
-
 class RodelbahnboxDictConverter(formencode.Validator):
     """Converts a dict with Rodelbahnbox properties to a Sledrun class. Does no validation."""
 
@@ -103,9 +96,9 @@ class WinterrodelnTemplateDict(formencode.Validator):
     def to_python(self, value, state):
         title, anonym_params, named_params = value
         if title != self.template_title:
-            raise Invalud(u'Template title has to be "{}".'.format(self.template_title), value, state)
+            raise formencode.Invalid(u'Template title has to be "{}".'.format(self.template_title), value, state)
         if len(anonym_params) > 0:
-            raise Invalid(u'No anonymous parameters are allowed in "{}".'.format(self.template_title), value, state)
+            raise formencode.Invalid(u'No anonymous parameters are allowed in "{}".'.format(self.template_title), value, state)
         return named_params
 
     def from_python(self, value, state):
@@ -227,36 +220,7 @@ def gasthausbox_to_inn(wikitext, inn=None):
 
 def inn_to_gasthausbox(inn):
     """Converts the inn class to the {{Gasthausbox}} representation."""
-    keys = []
-    values = []
-    keys.append(u'Position')
-    values.append(wrpylib.wrvalidators.GeoNone().from_python((inn.position_latitude, inn.position_longitude)))
-    keys.append(u'Höhe')
-    values.append(wrpylib.wrvalidators.UnsignedNone().from_python(inn.position_elevation))
-    keys.append(u'Betreiber')
-    values.append(wrpylib.wrvalidators.UnicodeNone().from_python(inn.operator))
-    keys.append(u'Sitzplätze')
-    values.append(wrpylib.wrvalidators.UnsignedNone().from_python(inn.seats))
-    keys.append(u'Übernachtung')
-    values.append(wrpylib.wrvalidators.BoolUnicodeTupleValidator().from_python((inn.overnight, inn.overnight_comment)))
-    keys.append(u'Rauchfrei')
-    values.append(wrpylib.wrvalidators.GermanTristateTuple().from_python((inn.nonsmoker_area, inn.smoker_area)))
-    keys.append(u'Rodelverleih')
-    values.append(wrpylib.wrvalidators.BoolUnicodeTupleValidator().from_python((inn.sled_rental, inn.sled_rental_comment)))
-    keys.append(u'Handyempfang')
-    values.append(wrpylib.wrvalidators.ValueCommentListNeinLoopNone().from_python(inn.mobile_provider))
-    keys.append(u'Homepage')
-    values.append(wrpylib.wrvalidators.UrlNeinNone().from_python(inn.homepage))
-    keys.append(u'E-Mail')
-    values.append(wrpylib.wrvalidators.EmailCommentListNeinLoopNone(allow_masked_email=True).from_python(inn.email_list))
-    keys.append(u'Telefon')
-    values.append(wrpylib.wrvalidators.PhoneCommentListNeinLoopNone(comments_are_optional=True).from_python(inn.phone_list))
-    keys.append(u'Bild')
-    values.append(wrpylib.wrvalidators.UnicodeNone().from_python(inn.image))
-    keys.append(u'Rodelbahnen')
-    values.append(wrpylib.wrvalidators.WikiPageListLoopNone().from_python(inn.sledding_list))
-    result = [u'{{Gasthausbox']
-    return wrpylib.mwmarkup.create_template(u'Gasthausbox', [], keys, values, True)
+    return GasthausboxValidator().from_python(inn)
 
 
 def find_template_latlon_ele(wikitext, template_title):