assert v.from_python((False, None)) == u'Nein'
assert v.from_python((True, u'Talstation (nur mit Ticket); Schneealm')) == u'Talstation (nur mit Ticket); Schneealm'
assert v.from_python((True, u'Ja')) == u'Ja'
+
+
+def test_RodelbahnboxValidator():
+ v = wrpylib.wrvalidators.RodelbahnboxValidator()
+ other = {
+ u'Position': u'47.309820 N 9.986508 E',
+ u'Position oben': u'',
+ u'Höhe oben': u'1244',
+ u'Position unten': u'',
+ u'Höhe unten': u'806',
+ u'Länge': u'5045',
+ u'Schwierigkeit': u'',
+ u'Lawinen': u'gelegentlich',
+ u'Betreiber': u'',
+ u'Öffentliche Anreise': u'Ja',
+ u'Gehzeit': u'105',
+ u'Aufstieg möglich': u'Ja',
+ u'Aufstieg getrennt': u'Nein',
+ u'Aufstiegshilfe': u'Nein',
+ u'Beleuchtungsanlage': u'Nein',
+ u'Beleuchtungstage': u'',
+ u'Rodelverleih': u'Ja',
+ u'Gütesiegel': u'',
+ u'Webauskunft': u'',
+ u'Telefonauskunft': u'+43-664-1808482 (Bergkristallhütte)',
+ u'Bild': u'Rodelbahn Bergkristallhütte 2009-03-03.jpg',
+ u'In Übersichtskarte': u'Ja',
+ u'Forumid': u'72'}
+ python = v.to_python(other, None)
+ other2 = v.from_python(python, None)
+ assert other == other2
+
u'Talstation (nur mit Ticket); Schneealm' <=> (True, u'Talstation (nur mit Ticket); Schneealm')"""
def __init__(self):
BoolUnicodeTupleValidator.__init__(self, Loop(ValueCommentList()))
+
+
+class RodelbahnboxValidator(formencode.Schema):
+ """Takes the fields of the Rodelbahnbox as dict of strings and returns them as dict of appropriet types."""
+ def __init__(self):
+ self.add_field(u'Position', GeoNone()) # '47.583333 N 15.75 E'
+ self.add_field(u'Position oben', GeoNone()) # '47.583333 N 15.75 E'
+ self.add_field(u'Höhe oben', UnsignedNone()) # '2000'
+ self.add_field(u'Position unten', GeoNone()) # '47.583333 N 15.75 E'
+ self.add_field(u'Höhe unten', UnsignedNone()) # '1200'
+ self.add_field(u'Länge', UnsignedNone()) # 3500
+ self.add_field(u'Schwierigkeit', GermanDifficulty()) # 'mittel'
+ self.add_field(u'Lawinen', GermanAvalanches()) # 'kaum'
+ self.add_field(u'Betreiber', UnicodeNone()) # 'Max Mustermann'
+ self.add_field(u'Öffentliche Anreise', GermanPublicTransport()) # 'Mittelmäßig'
+ self.add_field(u'Aufstieg möglich', GermanBoolNone()) # 'Ja'
+ self.add_field(u'Aufstieg getrennt', GermanTristateFloatComment()) # 'Ja'
+ self.add_field(u'Gehzeit', UnsignedNone()) # 90
+ self.add_field(u'Aufstiegshilfe', GermanLift()) # 'Gondel (unterer Teil)'
+ self.add_field(u'Beleuchtungsanlage', GermanTristateFloatComment())
+ self.add_field(u'Beleuchtungstage', UnsignedCommentNone(7)) # '3 (Montag, Mittwoch, Freitag)'
+ self.add_field(u'Rodelverleih', SledRental()) # 'Talstation Serlesbahnan'
+ self.add_field(u'Gütesiegel', GermanCachet()) # 'Tiroler Naturrodelbahn-Gütesiegel 2009 mittel'
+ self.add_field(u'Webauskunft', UrlNeinNone()) # 'http://www.nösslachhütte.at/page9.php'
+ self.add_field(u'Telefonauskunft', PhoneCommentListNeinLoopNone(comments_are_optional=False)) # '+43-664-5487520 (Mitterer Alm)'
+ self.add_field(u'Bild', UnicodeNone())
+ self.add_field(u'In Übersichtskarte', GermanBoolNone())
+ self.add_field(u'Forumid', UnsignedNeinNone())