Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

Fixed #3847 -- Added Finnish localflavor contribution from Ville Sääv…

…uori.

git-svn-id: http://code.djangoproject.com/svn/django/trunk@4867 bcc190cf-cafb-0310-a4f2-bffc1f526a37
  • Loading branch information...
commit 51c7dadc4c7344cabe24b3120522d02fb6cd987e 1 parent 6a643b0
@malcolmt malcolmt authored
View
1  AUTHORS
@@ -184,6 +184,7 @@ answer newbie questions, and generally made Django that much better:
Radek Švarz <http://www.svarz.cz/translate/>
Swaroop C H <http://www.swaroopch.info>
Aaron Swartz <http://www.aaronsw.com/>
+ Ville Säävuori <http://www.unessa.net/>
Tyson Tate <tyson@fallingbullets.com>
Tom Tobin
Joe Topjian <http://joe.terrarum.net/geek/code/python/django/>
View
0  django/contrib/localflavor/fi/__init__.py
No changes.
View
427 django/contrib/localflavor/fi/fi_municipalities.py
@@ -0,0 +1,427 @@
+# -*- coding: utf-8 -*-
+"""
+An alphabetical list of Finnish municipalities for use as `choices` in a
+formfield.
+
+This exists in this standalone file so that it's only imported into memory
+when explicitly needed.
+"""
+
+MUNICIPALITY_CHOICES = (
+ ('akaa', u"Akaa"),
+ ('alaharma', u"Alahärmä"),
+ ('alajarvi', u"Alajärvi"),
+ ('alastaro', u"Alastaro"),
+ ('alavieska', u"Alavieska"),
+ ('alavus', u"Alavus"),
+ ('anjalankoski', u"Anjalankoski"),
+ ('artjarvi', u"Artjärvi"),
+ ('asikkala', u"Asikkala"),
+ ('askainen', u"Askainen"),
+ ('askola', u"Askola"),
+ ('aura', u"Aura"),
+ ('brando', u"Brändö"),
+ ('dragsfjard', u"Dragsfjärd"),
+ ('eckero', u"Eckerö"),
+ ('elimaki', u"Elimäki"),
+ ('eno', u"Eno"),
+ ('enonkoski', u"Enonkoski"),
+ ('enontekio', u"Enontekiö"),
+ ('espoo', u"Espoo"),
+ ('eura', u"Eura"),
+ ('eurajoki', u"Eurajoki"),
+ ('evijarvi', u"Evijärvi"),
+ ('finstrom', u"Finström"),
+ ('forssa', u"Forssa"),
+ ('foglo', u"Föglö"),
+ ('geta', u"Geta"),
+ ('haapajarvi', u"Haapajärvi"),
+ ('haapavesi', u"Haapavesi"),
+ ('hailuoto', u"Hailuoto"),
+ ('halikko', u"Halikko"),
+ ('halsua', u"Halsua"),
+ ('hamina', u"Hamina"),
+ ('hammarland', u"Hammarland"),
+ ('hankasalmi', u"Hankasalmi"),
+ ('hanko', u"Hanko"),
+ ('harjavalta', u"Harjavalta"),
+ ('hartola', u"Hartola"),
+ ('hattula', u"Hattula"),
+ ('hauho', u"Hauho"),
+ ('haukipudas', u"Haukipudas"),
+ ('hausjarvi', u"Hausjärvi"),
+ ('heinola', u"Heinola"),
+ ('heinavesi', u"Heinävesi"),
+ ('helsinki', u"Helsinki"),
+ ('himanka', u"Himanka"),
+ ('hirvensalmi', u"Hirvensalmi"),
+ ('hollola', u"Hollola"),
+ ('honkajoki', u"Honkajoki"),
+ ('houtskari', u"Houtskari"),
+ ('huittinen', u"Huittinen"),
+ ('humppila', u"Humppila"),
+ ('hyrynsalmi', u"Hyrynsalmi"),
+ ('hyvinkaa', u"Hyvinkää"),
+ ('hameenkoski', u"Hämeenkoski"),
+ ('hameenkyro', u"Hämeenkyrö"),
+ ('hameenlinna', u"Hämeenlinna"),
+ ('ii', u"Ii"),
+ ('iisalmi', u"Iisalmi"),
+ ('iitti', u"Iitti"),
+ ('ikaalinen', u"Ikaalinen"),
+ ('ilmajoki', u"Ilmajoki"),
+ ('ilomantsi', u"Ilomantsi"),
+ ('imatra', u"Imatra"),
+ ('inari', u"Inari"),
+ ('inio', u"Iniö"),
+ ('inkoo', u"Inkoo"),
+ ('isojoki', u"Isojoki"),
+ ('isokyro', u"Isokyrö"),
+ ('jaala', u"Jaala"),
+ ('jalasjarvi', u"Jalasjärvi"),
+ ('janakkala', u"Janakkala"),
+ ('joensuu', u"Joensuu"),
+ ('jokioinen', u"Jokioinen"),
+ ('jomala', u"Jomala"),
+ ('joroinen', u"Joroinen"),
+ ('joutsa', u"Joutsa"),
+ ('joutseno', u"Joutseno"),
+ ('juankoski', u"Juankoski"),
+ ('jurva', u"Jurva"),
+ ('juuka', u"Juuka"),
+ ('juupajoki', u"Juupajoki"),
+ ('juva', u"Juva"),
+ ('jyvaskyla', u"Jyväskylä"),
+ ('jyvaskylan_mlk', u"Jyväskylän maalaiskunta"),
+ ('jamijarvi', u"Jämijärvi"),
+ ('jamsa', u"Jämsä"),
+ ('jamsankoski', u"Jämsänkoski"),
+ ('jarvenpaa', u"Järvenpää"),
+ ('kaarina', u"Kaarina"),
+ ('kaavi', u"Kaavi"),
+ ('kajaani', u"Kajaani"),
+ ('kalajoki', u"Kalajoki"),
+ ('kalvola', u"Kalvola"),
+ ('kangasala', u"Kangasala"),
+ ('kangasniemi', u"Kangasniemi"),
+ ('kankaanpaa', u"Kankaanpää"),
+ ('kannonkoski', u"Kannonkoski"),
+ ('kannus', u"Kannus"),
+ ('karijoki', u"Karijoki"),
+ ('karjaa', u"Karjaa"),
+ ('karjalohja', u"Karjalohja"),
+ ('karkkila', u"Karkkila"),
+ ('karstula', u"Karstula"),
+ ('karttula', u"Karttula"),
+ ('karvia', u"Karvia"),
+ ('kaskinen', u"Kaskinen"),
+ ('kauhajoki', u"Kauhajoki"),
+ ('kauhava', u"Kauhava"),
+ ('kauniainen', u"Kauniainen"),
+ ('kaustinen', u"Kaustinen"),
+ ('keitele', u"Keitele"),
+ ('kemi', u"Kemi"),
+ ('kemijarvi', u"Kemijärvi"),
+ ('keminmaa', u"Keminmaa"),
+ ('kemio', u"Kemiö"),
+ ('kempele', u"Kempele"),
+ ('kerava', u"Kerava"),
+ ('kerimaki', u"Kerimäki"),
+ ('kestila', u"Kestilä"),
+ ('kesalahti', u"Kesälahti"),
+ ('keuruu', u"Keuruu"),
+ ('kihnio', u"Kihniö"),
+ ('kiikala', u"Kiikala"),
+ ('kiikoinen', u"Kiikoinen"),
+ ('kiiminki', u"Kiiminki"),
+ ('kinnula', u"Kinnula"),
+ ('kirkkonummi', u"Kirkkonummi"),
+ ('kisko', u"Kisko"),
+ ('kitee', u"Kitee"),
+ ('kittila', u"Kittilä"),
+ ('kiukainen', u"Kiukainen"),
+ ('kiuruvesi', u"Kiuruvesi"),
+ ('kivijarvi', u"Kivijärvi"),
+ ('kokemaki', u"Kokemäki"),
+ ('kokkola', u"Kokkola"),
+ ('kolari', u"Kolari"),
+ ('konnevesi', u"Konnevesi"),
+ ('kontiolahti', u"Kontiolahti"),
+ ('korpilahti', u"Korpilahti"),
+ ('korppoo', u"Korppoo"),
+ ('korsnas', u"Korsnäs"),
+ ('kortesjarvi', u"Kortesjärvi"),
+ ('koskitl', u"KoskiTl"),
+ ('kotka', u"Kotka"),
+ ('kouvola', u"Kouvola"),
+ ('kristiinankaupunki', u"Kristiinankaupunki"),
+ ('kruunupyy', u"Kruunupyy"),
+ ('kuhmalahti', u"Kuhmalahti"),
+ ('kuhmo', u"Kuhmo"),
+ ('kuhmoinen', u"Kuhmoinen"),
+ ('kumlinge', u"Kumlinge"),
+ ('kuopio', u"Kuopio"),
+ ('kuortane', u"Kuortane"),
+ ('kurikka', u"Kurikka"),
+ ('kuru', u"Kuru"),
+ ('kustavi', u"Kustavi"),
+ ('kuusamo', u"Kuusamo"),
+ ('kuusankoski', u"Kuusankoski"),
+ ('kuusjoki', u"Kuusjoki"),
+ ('kylmakoski', u"Kylmäkoski"),
+ ('kyyjarvi', u"Kyyjärvi"),
+ ('kalvia', u"Kälviä"),
+ ('karkola', u"Kärkölä"),
+ ('karsamaki', u"Kärsämäki"),
+ ('kokar', u"Kökar"),
+ ('koylio', u"Köyliö"),
+ ('lahti', u"Lahti"),
+ ('laihia', u"Laihia"),
+ ('laitila', u"Laitila"),
+ ('lammi', u"Lammi"),
+ ('lapinjarvi', u"Lapinjärvi"),
+ ('lapinlahti', u"Lapinlahti"),
+ ('lappajarvi', u"Lappajärvi"),
+ ('lappeenranta', u"Lappeenranta"),
+ ('lappi', u"Lappi"),
+ ('lapua', u"Lapua"),
+ ('laukaa', u"Laukaa"),
+ ('lavia', u"Lavia"),
+ ('lehtimaki', u"Lehtimäki"),
+ ('leivonmaki', u"Leivonmäki"),
+ ('lemi', u"Lemi"),
+ ('lemland', u"Lemland"),
+ ('lempaala', u"Lempäälä"),
+ ('lemu', u"Lemu"),
+ ('leppavirta', u"Leppävirta"),
+ ('lestijarvi', u"Lestijärvi"),
+ ('lieksa', u"Lieksa"),
+ ('lieto', u"Lieto"),
+ ('liljendal', u"Liljendal"),
+ ('liminka', u"Liminka"),
+ ('liperi', u"Liperi"),
+ ('lohja', u"Lohja"),
+ ('lohtaja', u"Lohtaja"),
+ ('loimaa', u"Loimaa"),
+ ('loppi', u"Loppi"),
+ ('loviisa', u"Loviisa"),
+ ('luhanka', u"Luhanka"),
+ ('lumijoki', u"Lumijoki"),
+ ('lumparland', u"Lumparland"),
+ ('luoto', u"Luoto"),
+ ('luumaki', u"Luumäki"),
+ ('luvia', u"Luvia"),
+ ('maalahti', u"Maalahti"),
+ ('maaninka', u"Maaninka"),
+ ('maarianhamina', u"Maarianhamina"),
+ ('marttila', u"Marttila"),
+ ('masku', u"Masku"),
+ ('mellila', u"Mellilä"),
+ ('merijarvi', u"Merijärvi"),
+ ('merikarvia', u"Merikarvia"),
+ ('merimasku', u"Merimasku"),
+ ('miehikkala', u"Miehikkälä"),
+ ('mikkeli', u"Mikkeli"),
+ ('mouhijarvi', u"Mouhijärvi"),
+ ('muhos', u"Muhos"),
+ ('multia', u"Multia"),
+ ('muonio', u"Muonio"),
+ ('mustasaari', u"Mustasaari"),
+ ('muurame', u"Muurame"),
+ ('muurla', u"Muurla"),
+ ('mynamaki', u"Mynämäki"),
+ ('myrskyla', u"Myrskylä"),
+ ('mantsala', u"Mäntsälä"),
+ ('mantta', u"Mänttä"),
+ ('mantyharju', u"Mäntyharju"),
+ ('naantali', u"Naantali"),
+ ('nakkila', u"Nakkila"),
+ ('nastola', u"Nastola"),
+ ('nauvo', u"Nauvo"),
+ ('nilsia', u"Nilsiä"),
+ ('nivala', u"Nivala"),
+ ('nokia', u"Nokia"),
+ ('noormarkku', u"Noormarkku"),
+ ('nousiainen', u"Nousiainen"),
+ ('nummi-pusula', u"Nummi-Pusula"),
+ ('nurmes', u"Nurmes"),
+ ('nurmijarvi', u"Nurmijärvi"),
+ ('nurmo', u"Nurmo"),
+ ('narpio', u"Närpiö"),
+ ('oravainen', u"Oravainen"),
+ ('orimattila', u"Orimattila"),
+ ('oripaa', u"Oripää"),
+ ('orivesi', u"Orivesi"),
+ ('oulainen', u"Oulainen"),
+ ('oulu', u"Oulu"),
+ ('oulunsalo', u"Oulunsalo"),
+ ('outokumpu', u"Outokumpu"),
+ ('padasjoki', u"Padasjoki"),
+ ('paimio', u"Paimio"),
+ ('paltamo', u"Paltamo"),
+ ('parainen', u"Parainen"),
+ ('parikkala', u"Parikkala"),
+ ('parkano', u"Parkano"),
+ ('pedersore', u"Pedersöre"),
+ ('pelkosenniemi', u"Pelkosenniemi"),
+ ('pello', u"Pello"),
+ ('perho', u"Perho"),
+ ('pernaja', u"Pernaja"),
+ ('pernio', u"Perniö"),
+ ('pertteli', u"Pertteli"),
+ ('pertunmaa', u"Pertunmaa"),
+ ('petajavesi', u"Petäjävesi"),
+ ('pieksamaki', u"Pieksämäki"),
+ ('pielavesi', u"Pielavesi"),
+ ('pietarsaari', u"Pietarsaari"),
+ ('pihtipudas', u"Pihtipudas"),
+ ('piikkio', u"Piikkiö"),
+ ('piippola', u"Piippola"),
+ ('pirkkala', u"Pirkkala"),
+ ('pohja', u"Pohja"),
+ ('polvijarvi', u"Polvijärvi"),
+ ('pomarkku', u"Pomarkku"),
+ ('pori', u"Pori"),
+ ('pornainen', u"Pornainen"),
+ ('porvoo', u"Porvoo"),
+ ('posio', u"Posio"),
+ ('pudasjarvi', u"Pudasjärvi"),
+ ('pukkila', u"Pukkila"),
+ ('pulkkila', u"Pulkkila"),
+ ('punkaharju', u"Punkaharju"),
+ ('punkalaidun', u"Punkalaidun"),
+ ('puolanka', u"Puolanka"),
+ ('puumala', u"Puumala"),
+ ('pyhtaa', u"Pyhtää"),
+ ('pyhajoki', u"Pyhäjoki"),
+ ('pyhajarvi', u"Pyhäjärvi"),
+ ('pyhanta', u"Pyhäntä"),
+ ('pyharanta', u"Pyhäranta"),
+ ('pyhaselka', u"Pyhäselkä"),
+ ('pylkonmaki', u"Pylkönmäki"),
+ ('palkane', u"Pälkäne"),
+ ('poytya', u"Pöytyä"),
+ ('raahe', u"Raahe"),
+ ('raisio', u"Raisio"),
+ ('rantasalmi', u"Rantasalmi"),
+ ('rantsila', u"Rantsila"),
+ ('ranua', u"Ranua"),
+ ('rauma', u"Rauma"),
+ ('rautalampi', u"Rautalampi"),
+ ('rautavaara', u"Rautavaara"),
+ ('rautjarvi', u"Rautjärvi"),
+ ('reisjarvi', u"Reisjärvi"),
+ ('renko', u"Renko"),
+ ('riihimaki', u"Riihimäki"),
+ ('ristiina', u"Ristiina"),
+ ('ristijarvi', u"Ristijärvi"),
+ ('rovaniemi', u"Rovaniemi"),
+ ('ruokolahti', u"Ruokolahti"),
+ ('ruotsinpyhtaa', u"Ruotsinpyhtää"),
+ ('ruovesi', u"Ruovesi"),
+ ('rusko', u"Rusko"),
+ ('rymattyla', u"Rymättylä"),
+ ('raakkyla', u"Rääkkylä"),
+ ('saarijarvi', u"Saarijärvi"),
+ ('salla', u"Salla"),
+ ('salo', u"Salo"),
+ ('saltvik', u"Saltvik"),
+ ('sammatti', u"Sammatti"),
+ ('sauvo', u"Sauvo"),
+ ('savitaipale', u"Savitaipale"),
+ ('savonlinna', u"Savonlinna"),
+ ('savonranta', u"Savonranta"),
+ ('savukoski', u"Savukoski"),
+ ('seinajoki', u"Seinäjoki"),
+ ('sievi', u"Sievi"),
+ ('siikainen', u"Siikainen"),
+ ('siikajoki', u"Siikajoki"),
+ ('siilinjarvi', u"Siilinjärvi"),
+ ('simo', u"Simo"),
+ ('sipoo', u"Sipoo"),
+ ('siuntio', u"Siuntio"),
+ ('sodankyla', u"Sodankylä"),
+ ('soini', u"Soini"),
+ ('somero', u"Somero"),
+ ('sonkajarvi', u"Sonkajärvi"),
+ ('sotkamo', u"Sotkamo"),
+ ('sottunga', u"Sottunga"),
+ ('sulkava', u"Sulkava"),
+ ('sund', u"Sund"),
+ ('suomenniemi', u"Suomenniemi"),
+ ('suomusjarvi', u"Suomusjärvi"),
+ ('suomussalmi', u"Suomussalmi"),
+ ('suonenjoki', u"Suonenjoki"),
+ ('sysma', u"Sysmä"),
+ ('sakyla', u"Säkylä"),
+ ('sarkisalo', u"Särkisalo"),
+ ('taipalsaari', u"Taipalsaari"),
+ ('taivalkoski', u"Taivalkoski"),
+ ('taivassalo', u"Taivassalo"),
+ ('tammela', u"Tammela"),
+ ('tammisaari', u"Tammisaari"),
+ ('tampere', u"Tampere"),
+ ('tarvasjoki', u"Tarvasjoki"),
+ ('tervo', u"Tervo"),
+ ('tervola', u"Tervola"),
+ ('teuva', u"Teuva"),
+ ('tohmajarvi', u"Tohmajärvi"),
+ ('toholampi', u"Toholampi"),
+ ('toivakka', u"Toivakka"),
+ ('tornio', u"Tornio"),
+ ('turku', u"Turku"),
+ ('tuulos', u"Tuulos"),
+ ('tuusniemi', u"Tuusniemi"),
+ ('tuusula', u"Tuusula"),
+ ('tyrnava', u"Tyrnävä"),
+ ('toysa', u"Töysä"),
+ ('ullava', u"Ullava"),
+ ('ulvila', u"Ulvila"),
+ ('urjala', u"Urjala"),
+ ('utajarvi', u"Utajärvi"),
+ ('utsjoki', u"Utsjoki"),
+ ('uurainen', u"Uurainen"),
+ ('uusikaarlepyy', u"Uusikaarlepyy"),
+ ('uusikaupunki', u"Uusikaupunki"),
+ ('vaala', u"Vaala"),
+ ('vaasa', u"Vaasa"),
+ ('vahto', u"Vahto"),
+ ('valkeakoski', u"Valkeakoski"),
+ ('valkeala', u"Valkeala"),
+ ('valtimo', u"Valtimo"),
+ ('vammala', u"Vammala"),
+ ('vampula', u"Vampula"),
+ ('vantaa', u"Vantaa"),
+ ('varkaus', u"Varkaus"),
+ ('varpaisjarvi', u"Varpaisjärvi"),
+ ('vehmaa', u"Vehmaa"),
+ ('velkua', u"Velkua"),
+ ('vesanto', u"Vesanto"),
+ ('vesilahti', u"Vesilahti"),
+ ('veteli', u"Veteli"),
+ ('vierema', u"Vieremä"),
+ ('vihanti', u"Vihanti"),
+ ('vihti', u"Vihti"),
+ ('viitasaari', u"Viitasaari"),
+ ('vilppula', u"Vilppula"),
+ ('vimpeli', u"Vimpeli"),
+ ('virolahti', u"Virolahti"),
+ ('virrat', u"Virrat"),
+ ('vardo', u"Vårdö"),
+ ('vahakyro', u"Vähäkyrö"),
+ ('vastanfjard', u"Västanfjärd"),
+ ('voyri-maksamaa', u"Vöyri-Maksamaa"),
+ ('yliharma', u"Ylihärmä"),
+ ('yli-ii', u"Yli-Ii"),
+ ('ylikiiminki', u"Ylikiiminki"),
+ ('ylistaro', u"Ylistaro"),
+ ('ylitornio', u"Ylitornio"),
+ ('ylivieska', u"Ylivieska"),
+ ('ylamaa', u"Ylämaa"),
+ ('ylane', u"Yläne"),
+ ('ylojarvi', u"Ylöjärvi"),
+ ('ypaja', u"Ypäjä"),
+ ('aetsa', u"Äetsä"),
+ ('ahtari', u"Ähtäri"),
+ ('aanekoski', u"Äänekoski")
+)
View
22 django/contrib/localflavor/fi/forms.py
@@ -0,0 +1,22 @@
+"""
+FI-specific Form helpers
+"""
+
+from django.newforms import ValidationError
+from django.newforms.fields import RegexField, Select
+from django.utils.translation import gettext
+
+class FIZipCodeField(RegexField):
+ def __init__(self, *args, **kwargs):
+ super(FIZipCodeField, self).__init__(r'^\d{5}$',
+ max_length=None, min_length=None,
+ error_message=gettext(u'Enter a zip code in the format XXXXX.'),
+ *args, **kwargs)
+
+class FIMunicipalitySelect(Select):
+ """
+ A Select widget that uses a list of Finnish municipalities as its choices.
+ """
+ def __init__(self, attrs=None):
+ from fi_municipalities import MUNICIPALITY_CHOICES # relative import
+ super(FIMunicipalitySelect, self).__init__(attrs, choices=MUNICIPALITY_CHOICES)
View
51 tests/regressiontests/forms/tests.py
@@ -3878,6 +3878,57 @@
<option value="okinawa">Okinawa</option>
</select>
+# FIZipCodeField #############################################################
+
+FIZipCodeField validates that the data is a valid FI zipcode.
+>>> from django.contrib.localflavor.fi.forms import FIZipCodeField
+>>> f = FIZipCodeField()
+>>> f.clean('20540')
+u'20540'
+>>> f.clean('20101')
+u'20101'
+>>> f.clean('20s40')
+Traceback (most recent call last):
+...
+ValidationError: [u'Enter a zip code in the format XXXXX.']
+>>> f.clean('205401')
+Traceback (most recent call last):
+...
+ValidationError: [u'Enter a zip code in the format XXXXX.']
+>>> f.clean(None)
+Traceback (most recent call last):
+...
+ValidationError: [u'This field is required.']
+>>> f.clean('')
+Traceback (most recent call last):
+...
+ValidationError: [u'This field is required.']
+
+>>> f = FIZipCodeField(required=False)
+>>> f.clean('20540')
+u'20540'
+>>> f.clean('20101')
+u'20101'
+>>> f.clean('20s40')
+Traceback (most recent call last):
+...
+ValidationError: [u'Enter a zip code in the format XXXXX.']
+>>> f.clean('205401')
+Traceback (most recent call last):
+...
+ValidationError: [u'Enter a zip code in the format XXXXX.']
+>>> f.clean(None)
+u''
+>>> f.clean('')
+u''
+
+# FIMunicipalitySelect ###############################################################
+
+A Select widget that uses a list of Finnish municipalities as its choices.
+>>> from django.contrib.localflavor.fi.forms import FIMunicipalitySelect
+>>> w = FIMunicipalitySelect()
+>>> unicode(w.render('municipalities', 'turku'))
+u'<select name="municipalities">\n<option value="akaa">Akaa</option>\n<option value="alaharma">Alah\xe4rm\xe4</option>\n<option value="alajarvi">Alaj\xe4rvi</option>\n<option value="alastaro">Alastaro</option>\n<option value="alavieska">Alavieska</option>\n<option value="alavus">Alavus</option>\n<option value="anjalankoski">Anjalankoski</option>\n<option value="artjarvi">Artj\xe4rvi</option>\n<option value="asikkala">Asikkala</option>\n<option value="askainen">Askainen</option>\n<option value="askola">Askola</option>\n<option value="aura">Aura</option>\n<option value="brando">Br\xe4nd\xf6</option>\n<option value="dragsfjard">Dragsfj\xe4rd</option>\n<option value="eckero">Ecker\xf6</option>\n<option value="elimaki">Elim\xe4ki</option>\n<option value="eno">Eno</option>\n<option value="enonkoski">Enonkoski</option>\n<option value="enontekio">Enonteki\xf6</option>\n<option value="espoo">Espoo</option>\n<option value="eura">Eura</option>\n<option value="eurajoki">Eurajoki</option>\n<option value="evijarvi">Evij\xe4rvi</option>\n<option value="finstrom">Finstr\xf6m</option>\n<option value="forssa">Forssa</option>\n<option value="foglo">F\xf6gl\xf6</option>\n<option value="geta">Geta</option>\n<option value="haapajarvi">Haapaj\xe4rvi</option>\n<option value="haapavesi">Haapavesi</option>\n<option value="hailuoto">Hailuoto</option>\n<option value="halikko">Halikko</option>\n<option value="halsua">Halsua</option>\n<option value="hamina">Hamina</option>\n<option value="hammarland">Hammarland</option>\n<option value="hankasalmi">Hankasalmi</option>\n<option value="hanko">Hanko</option>\n<option value="harjavalta">Harjavalta</option>\n<option value="hartola">Hartola</option>\n<option value="hattula">Hattula</option>\n<option value="hauho">Hauho</option>\n<option value="haukipudas">Haukipudas</option>\n<option value="hausjarvi">Hausj\xe4rvi</option>\n<option value="heinola">Heinola</option>\n<option value="heinavesi">Hein\xe4vesi</option>\n<option value="helsinki">Helsinki</option>\n<option value="himanka">Himanka</option>\n<option value="hirvensalmi">Hirvensalmi</option>\n<option value="hollola">Hollola</option>\n<option value="honkajoki">Honkajoki</option>\n<option value="houtskari">Houtskari</option>\n<option value="huittinen">Huittinen</option>\n<option value="humppila">Humppila</option>\n<option value="hyrynsalmi">Hyrynsalmi</option>\n<option value="hyvinkaa">Hyvink\xe4\xe4</option>\n<option value="hameenkoski">H\xe4meenkoski</option>\n<option value="hameenkyro">H\xe4meenkyr\xf6</option>\n<option value="hameenlinna">H\xe4meenlinna</option>\n<option value="ii">Ii</option>\n<option value="iisalmi">Iisalmi</option>\n<option value="iitti">Iitti</option>\n<option value="ikaalinen">Ikaalinen</option>\n<option value="ilmajoki">Ilmajoki</option>\n<option value="ilomantsi">Ilomantsi</option>\n<option value="imatra">Imatra</option>\n<option value="inari">Inari</option>\n<option value="inio">Ini\xf6</option>\n<option value="inkoo">Inkoo</option>\n<option value="isojoki">Isojoki</option>\n<option value="isokyro">Isokyr\xf6</option>\n<option value="jaala">Jaala</option>\n<option value="jalasjarvi">Jalasj\xe4rvi</option>\n<option value="janakkala">Janakkala</option>\n<option value="joensuu">Joensuu</option>\n<option value="jokioinen">Jokioinen</option>\n<option value="jomala">Jomala</option>\n<option value="joroinen">Joroinen</option>\n<option value="joutsa">Joutsa</option>\n<option value="joutseno">Joutseno</option>\n<option value="juankoski">Juankoski</option>\n<option value="jurva">Jurva</option>\n<option value="juuka">Juuka</option>\n<option value="juupajoki">Juupajoki</option>\n<option value="juva">Juva</option>\n<option value="jyvaskyla">Jyv\xe4skyl\xe4</option>\n<option value="jyvaskylan_mlk">Jyv\xe4skyl\xe4n maalaiskunta</option>\n<option value="jamijarvi">J\xe4mij\xe4rvi</option>\n<option value="jamsa">J\xe4ms\xe4</option>\n<option value="jamsankoski">J\xe4ms\xe4nkoski</option>\n<option value="jarvenpaa">J\xe4rvenp\xe4\xe4</option>\n<option value="kaarina">Kaarina</option>\n<option value="kaavi">Kaavi</option>\n<option value="kajaani">Kajaani</option>\n<option value="kalajoki">Kalajoki</option>\n<option value="kalvola">Kalvola</option>\n<option value="kangasala">Kangasala</option>\n<option value="kangasniemi">Kangasniemi</option>\n<option value="kankaanpaa">Kankaanp\xe4\xe4</option>\n<option value="kannonkoski">Kannonkoski</option>\n<option value="kannus">Kannus</option>\n<option value="karijoki">Karijoki</option>\n<option value="karjaa">Karjaa</option>\n<option value="karjalohja">Karjalohja</option>\n<option value="karkkila">Karkkila</option>\n<option value="karstula">Karstula</option>\n<option value="karttula">Karttula</option>\n<option value="karvia">Karvia</option>\n<option value="kaskinen">Kaskinen</option>\n<option value="kauhajoki">Kauhajoki</option>\n<option value="kauhava">Kauhava</option>\n<option value="kauniainen">Kauniainen</option>\n<option value="kaustinen">Kaustinen</option>\n<option value="keitele">Keitele</option>\n<option value="kemi">Kemi</option>\n<option value="kemijarvi">Kemij\xe4rvi</option>\n<option value="keminmaa">Keminmaa</option>\n<option value="kemio">Kemi\xf6</option>\n<option value="kempele">Kempele</option>\n<option value="kerava">Kerava</option>\n<option value="kerimaki">Kerim\xe4ki</option>\n<option value="kestila">Kestil\xe4</option>\n<option value="kesalahti">Kes\xe4lahti</option>\n<option value="keuruu">Keuruu</option>\n<option value="kihnio">Kihni\xf6</option>\n<option value="kiikala">Kiikala</option>\n<option value="kiikoinen">Kiikoinen</option>\n<option value="kiiminki">Kiiminki</option>\n<option value="kinnula">Kinnula</option>\n<option value="kirkkonummi">Kirkkonummi</option>\n<option value="kisko">Kisko</option>\n<option value="kitee">Kitee</option>\n<option value="kittila">Kittil\xe4</option>\n<option value="kiukainen">Kiukainen</option>\n<option value="kiuruvesi">Kiuruvesi</option>\n<option value="kivijarvi">Kivij\xe4rvi</option>\n<option value="kokemaki">Kokem\xe4ki</option>\n<option value="kokkola">Kokkola</option>\n<option value="kolari">Kolari</option>\n<option value="konnevesi">Konnevesi</option>\n<option value="kontiolahti">Kontiolahti</option>\n<option value="korpilahti">Korpilahti</option>\n<option value="korppoo">Korppoo</option>\n<option value="korsnas">Korsn\xe4s</option>\n<option value="kortesjarvi">Kortesj\xe4rvi</option>\n<option value="koskitl">KoskiTl</option>\n<option value="kotka">Kotka</option>\n<option value="kouvola">Kouvola</option>\n<option value="kristiinankaupunki">Kristiinankaupunki</option>\n<option value="kruunupyy">Kruunupyy</option>\n<option value="kuhmalahti">Kuhmalahti</option>\n<option value="kuhmo">Kuhmo</option>\n<option value="kuhmoinen">Kuhmoinen</option>\n<option value="kumlinge">Kumlinge</option>\n<option value="kuopio">Kuopio</option>\n<option value="kuortane">Kuortane</option>\n<option value="kurikka">Kurikka</option>\n<option value="kuru">Kuru</option>\n<option value="kustavi">Kustavi</option>\n<option value="kuusamo">Kuusamo</option>\n<option value="kuusankoski">Kuusankoski</option>\n<option value="kuusjoki">Kuusjoki</option>\n<option value="kylmakoski">Kylm\xe4koski</option>\n<option value="kyyjarvi">Kyyj\xe4rvi</option>\n<option value="kalvia">K\xe4lvi\xe4</option>\n<option value="karkola">K\xe4rk\xf6l\xe4</option>\n<option value="karsamaki">K\xe4rs\xe4m\xe4ki</option>\n<option value="kokar">K\xf6kar</option>\n<option value="koylio">K\xf6yli\xf6</option>\n<option value="lahti">Lahti</option>\n<option value="laihia">Laihia</option>\n<option value="laitila">Laitila</option>\n<option value="lammi">Lammi</option>\n<option value="lapinjarvi">Lapinj\xe4rvi</option>\n<option value="lapinlahti">Lapinlahti</option>\n<option value="lappajarvi">Lappaj\xe4rvi</option>\n<option value="lappeenranta">Lappeenranta</option>\n<option value="lappi">Lappi</option>\n<option value="lapua">Lapua</option>\n<option value="laukaa">Laukaa</option>\n<option value="lavia">Lavia</option>\n<option value="lehtimaki">Lehtim\xe4ki</option>\n<option value="leivonmaki">Leivonm\xe4ki</option>\n<option value="lemi">Lemi</option>\n<option value="lemland">Lemland</option>\n<option value="lempaala">Lemp\xe4\xe4l\xe4</option>\n<option value="lemu">Lemu</option>\n<option value="leppavirta">Lepp\xe4virta</option>\n<option value="lestijarvi">Lestij\xe4rvi</option>\n<option value="lieksa">Lieksa</option>\n<option value="lieto">Lieto</option>\n<option value="liljendal">Liljendal</option>\n<option value="liminka">Liminka</option>\n<option value="liperi">Liperi</option>\n<option value="lohja">Lohja</option>\n<option value="lohtaja">Lohtaja</option>\n<option value="loimaa">Loimaa</option>\n<option value="loppi">Loppi</option>\n<option value="loviisa">Loviisa</option>\n<option value="luhanka">Luhanka</option>\n<option value="lumijoki">Lumijoki</option>\n<option value="lumparland">Lumparland</option>\n<option value="luoto">Luoto</option>\n<option value="luumaki">Luum\xe4ki</option>\n<option value="luvia">Luvia</option>\n<option value="maalahti">Maalahti</option>\n<option value="maaninka">Maaninka</option>\n<option value="maarianhamina">Maarianhamina</option>\n<option value="marttila">Marttila</option>\n<option value="masku">Masku</option>\n<option value="mellila">Mellil\xe4</option>\n<option value="merijarvi">Merij\xe4rvi</option>\n<option value="merikarvia">Merikarvia</option>\n<option value="merimasku">Merimasku</option>\n<option value="miehikkala">Miehikk\xe4l\xe4</option>\n<option value="mikkeli">Mikkeli</option>\n<option value="mouhijarvi">Mouhij\xe4rvi</option>\n<option value="muhos">Muhos</option>\n<option value="multia">Multia</option>\n<option value="muonio">Muonio</option>\n<option value="mustasaari">Mustasaari</option>\n<option value="muurame">Muurame</option>\n<option value="muurla">Muurla</option>\n<option value="mynamaki">Myn\xe4m\xe4ki</option>\n<option value="myrskyla">Myrskyl\xe4</option>\n<option value="mantsala">M\xe4nts\xe4l\xe4</option>\n<option value="mantta">M\xe4ntt\xe4</option>\n<option value="mantyharju">M\xe4ntyharju</option>\n<option value="naantali">Naantali</option>\n<option value="nakkila">Nakkila</option>\n<option value="nastola">Nastola</option>\n<option value="nauvo">Nauvo</option>\n<option value="nilsia">Nilsi\xe4</option>\n<option value="nivala">Nivala</option>\n<option value="nokia">Nokia</option>\n<option value="noormarkku">Noormarkku</option>\n<option value="nousiainen">Nousiainen</option>\n<option value="nummi-pusula">Nummi-Pusula</option>\n<option value="nurmes">Nurmes</option>\n<option value="nurmijarvi">Nurmij\xe4rvi</option>\n<option value="nurmo">Nurmo</option>\n<option value="narpio">N\xe4rpi\xf6</option>\n<option value="oravainen">Oravainen</option>\n<option value="orimattila">Orimattila</option>\n<option value="oripaa">Orip\xe4\xe4</option>\n<option value="orivesi">Orivesi</option>\n<option value="oulainen">Oulainen</option>\n<option value="oulu">Oulu</option>\n<option value="oulunsalo">Oulunsalo</option>\n<option value="outokumpu">Outokumpu</option>\n<option value="padasjoki">Padasjoki</option>\n<option value="paimio">Paimio</option>\n<option value="paltamo">Paltamo</option>\n<option value="parainen">Parainen</option>\n<option value="parikkala">Parikkala</option>\n<option value="parkano">Parkano</option>\n<option value="pedersore">Peders\xf6re</option>\n<option value="pelkosenniemi">Pelkosenniemi</option>\n<option value="pello">Pello</option>\n<option value="perho">Perho</option>\n<option value="pernaja">Pernaja</option>\n<option value="pernio">Perni\xf6</option>\n<option value="pertteli">Pertteli</option>\n<option value="pertunmaa">Pertunmaa</option>\n<option value="petajavesi">Pet\xe4j\xe4vesi</option>\n<option value="pieksamaki">Pieks\xe4m\xe4ki</option>\n<option value="pielavesi">Pielavesi</option>\n<option value="pietarsaari">Pietarsaari</option>\n<option value="pihtipudas">Pihtipudas</option>\n<option value="piikkio">Piikki\xf6</option>\n<option value="piippola">Piippola</option>\n<option value="pirkkala">Pirkkala</option>\n<option value="pohja">Pohja</option>\n<option value="polvijarvi">Polvij\xe4rvi</option>\n<option value="pomarkku">Pomarkku</option>\n<option value="pori">Pori</option>\n<option value="pornainen">Pornainen</option>\n<option value="porvoo">Porvoo</option>\n<option value="posio">Posio</option>\n<option value="pudasjarvi">Pudasj\xe4rvi</option>\n<option value="pukkila">Pukkila</option>\n<option value="pulkkila">Pulkkila</option>\n<option value="punkaharju">Punkaharju</option>\n<option value="punkalaidun">Punkalaidun</option>\n<option value="puolanka">Puolanka</option>\n<option value="puumala">Puumala</option>\n<option value="pyhtaa">Pyht\xe4\xe4</option>\n<option value="pyhajoki">Pyh\xe4joki</option>\n<option value="pyhajarvi">Pyh\xe4j\xe4rvi</option>\n<option value="pyhanta">Pyh\xe4nt\xe4</option>\n<option value="pyharanta">Pyh\xe4ranta</option>\n<option value="pyhaselka">Pyh\xe4selk\xe4</option>\n<option value="pylkonmaki">Pylk\xf6nm\xe4ki</option>\n<option value="palkane">P\xe4lk\xe4ne</option>\n<option value="poytya">P\xf6yty\xe4</option>\n<option value="raahe">Raahe</option>\n<option value="raisio">Raisio</option>\n<option value="rantasalmi">Rantasalmi</option>\n<option value="rantsila">Rantsila</option>\n<option value="ranua">Ranua</option>\n<option value="rauma">Rauma</option>\n<option value="rautalampi">Rautalampi</option>\n<option value="rautavaara">Rautavaara</option>\n<option value="rautjarvi">Rautj\xe4rvi</option>\n<option value="reisjarvi">Reisj\xe4rvi</option>\n<option value="renko">Renko</option>\n<option value="riihimaki">Riihim\xe4ki</option>\n<option value="ristiina">Ristiina</option>\n<option value="ristijarvi">Ristij\xe4rvi</option>\n<option value="rovaniemi">Rovaniemi</option>\n<option value="ruokolahti">Ruokolahti</option>\n<option value="ruotsinpyhtaa">Ruotsinpyht\xe4\xe4</option>\n<option value="ruovesi">Ruovesi</option>\n<option value="rusko">Rusko</option>\n<option value="rymattyla">Rym\xe4ttyl\xe4</option>\n<option value="raakkyla">R\xe4\xe4kkyl\xe4</option>\n<option value="saarijarvi">Saarij\xe4rvi</option>\n<option value="salla">Salla</option>\n<option value="salo">Salo</option>\n<option value="saltvik">Saltvik</option>\n<option value="sammatti">Sammatti</option>\n<option value="sauvo">Sauvo</option>\n<option value="savitaipale">Savitaipale</option>\n<option value="savonlinna">Savonlinna</option>\n<option value="savonranta">Savonranta</option>\n<option value="savukoski">Savukoski</option>\n<option value="seinajoki">Sein\xe4joki</option>\n<option value="sievi">Sievi</option>\n<option value="siikainen">Siikainen</option>\n<option value="siikajoki">Siikajoki</option>\n<option value="siilinjarvi">Siilinj\xe4rvi</option>\n<option value="simo">Simo</option>\n<option value="sipoo">Sipoo</option>\n<option value="siuntio">Siuntio</option>\n<option value="sodankyla">Sodankyl\xe4</option>\n<option value="soini">Soini</option>\n<option value="somero">Somero</option>\n<option value="sonkajarvi">Sonkaj\xe4rvi</option>\n<option value="sotkamo">Sotkamo</option>\n<option value="sottunga">Sottunga</option>\n<option value="sulkava">Sulkava</option>\n<option value="sund">Sund</option>\n<option value="suomenniemi">Suomenniemi</option>\n<option value="suomusjarvi">Suomusj\xe4rvi</option>\n<option value="suomussalmi">Suomussalmi</option>\n<option value="suonenjoki">Suonenjoki</option>\n<option value="sysma">Sysm\xe4</option>\n<option value="sakyla">S\xe4kyl\xe4</option>\n<option value="sarkisalo">S\xe4rkisalo</option>\n<option value="taipalsaari">Taipalsaari</option>\n<option value="taivalkoski">Taivalkoski</option>\n<option value="taivassalo">Taivassalo</option>\n<option value="tammela">Tammela</option>\n<option value="tammisaari">Tammisaari</option>\n<option value="tampere">Tampere</option>\n<option value="tarvasjoki">Tarvasjoki</option>\n<option value="tervo">Tervo</option>\n<option value="tervola">Tervola</option>\n<option value="teuva">Teuva</option>\n<option value="tohmajarvi">Tohmaj\xe4rvi</option>\n<option value="toholampi">Toholampi</option>\n<option value="toivakka">Toivakka</option>\n<option value="tornio">Tornio</option>\n<option value="turku" selected="selected">Turku</option>\n<option value="tuulos">Tuulos</option>\n<option value="tuusniemi">Tuusniemi</option>\n<option value="tuusula">Tuusula</option>\n<option value="tyrnava">Tyrn\xe4v\xe4</option>\n<option value="toysa">T\xf6ys\xe4</option>\n<option value="ullava">Ullava</option>\n<option value="ulvila">Ulvila</option>\n<option value="urjala">Urjala</option>\n<option value="utajarvi">Utaj\xe4rvi</option>\n<option value="utsjoki">Utsjoki</option>\n<option value="uurainen">Uurainen</option>\n<option value="uusikaarlepyy">Uusikaarlepyy</option>\n<option value="uusikaupunki">Uusikaupunki</option>\n<option value="vaala">Vaala</option>\n<option value="vaasa">Vaasa</option>\n<option value="vahto">Vahto</option>\n<option value="valkeakoski">Valkeakoski</option>\n<option value="valkeala">Valkeala</option>\n<option value="valtimo">Valtimo</option>\n<option value="vammala">Vammala</option>\n<option value="vampula">Vampula</option>\n<option value="vantaa">Vantaa</option>\n<option value="varkaus">Varkaus</option>\n<option value="varpaisjarvi">Varpaisj\xe4rvi</option>\n<option value="vehmaa">Vehmaa</option>\n<option value="velkua">Velkua</option>\n<option value="vesanto">Vesanto</option>\n<option value="vesilahti">Vesilahti</option>\n<option value="veteli">Veteli</option>\n<option value="vierema">Vierem\xe4</option>\n<option value="vihanti">Vihanti</option>\n<option value="vihti">Vihti</option>\n<option value="viitasaari">Viitasaari</option>\n<option value="vilppula">Vilppula</option>\n<option value="vimpeli">Vimpeli</option>\n<option value="virolahti">Virolahti</option>\n<option value="virrat">Virrat</option>\n<option value="vardo">V\xe5rd\xf6</option>\n<option value="vahakyro">V\xe4h\xe4kyr\xf6</option>\n<option value="vastanfjard">V\xe4stanfj\xe4rd</option>\n<option value="voyri-maksamaa">V\xf6yri-Maksamaa</option>\n<option value="yliharma">Ylih\xe4rm\xe4</option>\n<option value="yli-ii">Yli-Ii</option>\n<option value="ylikiiminki">Ylikiiminki</option>\n<option value="ylistaro">Ylistaro</option>\n<option value="ylitornio">Ylitornio</option>\n<option value="ylivieska">Ylivieska</option>\n<option value="ylamaa">Yl\xe4maa</option>\n<option value="ylane">Yl\xe4ne</option>\n<option value="ylojarvi">Yl\xf6j\xe4rvi</option>\n<option value="ypaja">Yp\xe4j\xe4</option>\n<option value="aetsa">\xc4ets\xe4</option>\n<option value="ahtari">\xc4ht\xe4ri</option>\n<option value="aanekoski">\xc4\xe4nekoski</option>\n</select>'
#################################
# Tests of underlying functions #
Please sign in to comment.
Something went wrong with that request. Please try again.