#!/usr/bin/python2.7
# -*- coding: iso-8859-15 -*-
import wrpylib.wrmwmarkup
import formencode
import textwrap
def test_rodelbahnbox_to_sledrun():
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 Rodelbahn zur Bergkristallhütte ist durchaus abwechslungsreich.'''
start, end, sledrun = wrpylib.wrmwmarkup.rodelbahnbox_to_sledrun(wikitext)
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]]
}}
Die Bergkristallhütte ist Teil des Boden-Vorsäß.'''
start, end, inn = wrpylib.wrmwmarkup.gasthausbox_to_inn(wikitext)
wrpylib.wrmwmarkup.inn_to_gasthausbox(inn)
def test_parse_googlemap():
wikitext = u'''
(Parkplatz)47.114958,11.266026
Erster Parkplatz
(Gasthaus) 47.114715, 11.266262, Alt Bärnbad (Gasthaus)
6#FF014E9A
47.114715,11.266262
47.114135,11.268381
47.113421,11.269322
47.11277,11.269979
47.112408,11.271119
'''
json = wrpylib.wrmwmarkup.parse_googlemap(wikitext)
assert json['properties']['lon'] == 11.272337
assert json['properties']['lat'] == 47.113291
assert json['properties']['zoom'] == 15
assert json['features'][0]['properties']['type'] == 'parkplatz'
assert json['features'][0]['properties']['name'] == 'Erster Parkplatz'
assert json['features'][0]['geometry']['coordinates'] == [11.266026, 47.114958]
assert json['features'][1]['properties']['type'] == 'gasthaus'
assert json['features'][1]['properties']['name'] == u'Alt Bärnbad (Gasthaus)'
assert json['features'][1]['geometry']['coordinates'] == [11.266262, 47.114715]
assert json['features'][2]['properties']['type'] == 'rodelbahn'
assert json['features'][2]['geometry']['coordinates'] == [
[11.266262, 47.114715],
[11.268381, 47.114135],
[11.269322, 47.113421],
[11.269979, 47.11277],
[11.271119, 47.112408]]
def test_parse_wrmap():
wikitext = u'''
47.240689 11.190454
47.245789 11.238971
47.245711 11.238283
47.238587 11.203360
47.244951 11.230868
47.245470 11.237853
'''
json = wrpylib.wrmwmarkup.parse_wrmap(wikitext)
assert json['properties']['lon'] == 11.21408895
assert json['properties']['lat'] == 47.2417134
assert json['properties']['zoom'] == 14
assert json['properties']['width'] == 700
assert json['properties']['height'] == 400
assert json['features'][0]['properties']['type'] == 'gasthaus'
assert json['features'][0]['properties']['name'] == u'Rosskogelhütte'
assert json['features'][0]['properties']['wiki'] == u'Rosskogelhütte'
assert json['features'][0]['geometry']['coordinates'] == [11.190454, 47.240689]
assert json['features'][1]['properties']['type'] == 'parkplatz'
assert json['features'][1]['geometry']['coordinates'] == [11.238971, 47.245789]
assert json['features'][2]['properties']['type'] == 'haltestelle'
assert json['features'][2]['properties']['name'] == u'Oberperfuss Rangger Köpfl Lift'
assert json['features'][2]['geometry']['coordinates'] == [11.238283, 47.245711]
assert json['features'][3]['properties']['type'] == 'rodelbahn'
assert json['features'][3]['geometry']['coordinates'] == [
[11.203360, 47.238587],
[11.230868, 47.244951],
[11.237853, 47.245470]]
def test_create_wrmap():
geojson = {
'type': 'FeatureCollection',
'features':
[{
'type': 'Feature',
'geometry': {
'type': 'Point',
'coordinates': [11.190454, 47.240689]},
'properties': {'type': 'inn', 'name': u'Rosskogelhütte', 'wiki': u'Rosskogelhütte'}
}, {
'type': 'Feature',
'geometry': {
'type': 'Point',
'coordinates': [11.238971, 47.245789]},
'properties': {'type': 'carpark'}
}, {
'type': 'Feature',
'geometry': {
'type': 'Point',
'coordinates': [11.238283, 47.245711]},
'properties': {'type': 'busstop', 'name': u'Oberperfuss Rangger Köpfl Lift'}
}, {
'type': 'Feature',
'geometry': {
'type': 'LineString',
'coordinates': [
[11.203360, 47.238587],
[11.230868, 47.244951],
[11.237853, 47.245470]]},
'properties': {'type': 'sledrun'}
}],
'properties': {
'lon': 11.21408895,
'lat': 47.2417134,
'zoom': 14,
'width': 700,
'height': 400}
}
wikitext = wrpylib.wrmwmarkup.create_wrmap(geojson)
assert wikitext == textwrap.dedent(u'''\
47.240689 11.190454
47.245789 11.238971
47.245711 11.238283
47.238587 N 11.203360 E
47.244951 N 11.230868 E
47.245470 N 11.237853 E
''')