-#!/usr/bin/python2.6
+#!/usr/bin/python2.7
# -*- coding: iso-8859-15 -*-
-import wrpylib.wrmwmarkup
-import formencode
+import wrpylib.mwmarkup
-def test_rodelbahnbox_to_sledrun():
+def test_find_template():
wikitext = u'''== Allgemeines ==
{{Rodelbahnbox
| Position = 47.309820 N 9.986508 E
| Forumid = 72
}}
Die Rodelbahn zur Bergkristallhütte ist durchaus abwechslungsreich.'''
- class Sledrun(object): pass
- sledrun = Sledrun()
- wrpylib.wrmwmarkup.rodelbahnbox_to_sledrun(wikitext, sledrun)
- wrpylib.wrmwmarkup.sledrun_to_rodelbahnbox(sledrun, '1.3')
-
-
-
-def test_gasthausbox_to_inn():
- wikitext = u'''{{Gasthausbox
- | Position = 47.295549 N 9.986970 E
- | Höhe = 1250
- | Betreiber =
- | Sitzplätze =
- | Übernachtung =
- | Rauchfrei = Nein
- | Rodelverleih =
- | Handyempfang = A1; T-Mobile/Telering
- | Homepage = http://www.bergkristallhuette.com/
- | E-Mail = bergkristallhuette@gmx.at
- | Telefon = +43-664-1808482
- | Bild = Bergkritsallhütte 2009-02-07.JPG
- | Rodelbahnen = [[Bergkristallhütte]]
+ start, end = wrpylib.mwmarkup.find_template(wikitext, u'Rodelbahnbox')
+ assert start == wikitext.find(u'{{')
+ assert end == wikitext.find(u'}}')+2
+
+
+def test_split_template():
+ wikitext = u'''== Allgemeines ==
+ {{Rodelbahnbox
+ | Position = 47.309820 N 9.986508 E
+ | Position oben =
+ | Höhe oben = 1244
+ | Position unten =
+ | Höhe unten = 806
+ | Länge = 5045
+ | Schwierigkeit =
+ | Lawinen = gelegentlich
+ | Betreiber =
+ | Öffentliche Anreise = Ja
+ | Gehzeit = 105
+ | Aufstieg getrennt = Nein
+ | Aufstiegshilfe = Nein
+ | Beleuchtungsanlage = Nein
+ | Beleuchtungstage =
+ | Rodelverleih = Ja
+ | Gütesiegel =
+ | Webauskunft =
+ | Telefonauskunft = +43-664-1808482 (Bergkristallhütte)
+ | Bild = Rodelbahn Bergkristallhütte 2009-03-03.jpg
+ | In Übersichtskarte = Ja
+ | Forumid = 72
}}
- Die Bergkristallhütte ist Teil des Boden-Vorsäß.'''
- class Inn(object): pass
- inn = Inn()
- wrpylib.wrmwmarkup.gasthausbox_to_inn(wikitext, inn)
- wrpylib.wrmwmarkup.inn_to_gasthausbox(inn)
+ Die Rodelbahn zur Bergkristallhütte ist durchaus abwechslungsreich.'''
+ start, end = wrpylib.mwmarkup.find_template(wikitext, u'Rodelbahnbox')
+ template_title, parameters = wrpylib.mwmarkup.split_template(wikitext[start:end])
+ assert template_title == u'Rodelbahnbox'
+ assert len(parameters) == 22
+ assert parameters['Position'] == u'47.309820 N 9.986508 E'
+ assert parameters['Telefonauskunft'] == u'+43-664-1808482 (Bergkristallhütte)'
+ assert parameters['Schwierigkeit'] == u''
+
+
+def test_create_template():
+ wikitext = u'''{{Nicetemplate|Red|Bold|Position=Top|Alignment=Right}}'''
+ template_title, parameters = wrpylib.mwmarkup.split_template(wikitext)
+ print parameters
+ keys = [u'1', u'2', u'Position', u'Alignment']
+ values = [parameters[k] for k in keys]
+ wikitext_generated = wrpylib.mwmarkup.create_template(template_title, values[:2], keys[2:], values[2:])
+ wikitext_table = wrpylib.mwmarkup.create_template(template_title, values[:2], keys[2:], values[2:], True)
+ assert wikitext_generated == wikitext
+