Django

Code

Ticket #3847: fi_localflavor.diff

File fi_localflavor.diff, 34.7 kB (added by Ville Säävuori <Ville@Unessa.net>, 2 years ago)
  • django/contrib/localflavor/fi/fi_municipalities.py

    old new  
     1# -*- coding: utf-8 -*- 
     2""" 
     3An alphabetical list of Finnish municipalities for use as `choices` in a 
     4formfield. 
     5 
     6This exists in this standalone file so that it's only imported into memory 
     7when explicitly needed. 
     8""" 
     9 
     10MUNICIPALITY_CHOICES = ( 
     11    ('akaa', 'Akaa'), 
     12    ('alaharma', 'Alahärmä'), 
     13    ('alajarvi', 'Alajärvi'), 
     14    ('alastaro', 'Alastaro'), 
     15    ('alavieska', 'Alavieska'), 
     16    ('alavus', 'Alavus'), 
     17    ('anjalankoski', 'Anjalankoski'), 
     18    ('artjarvi', 'Artjärvi'), 
     19    ('asikkala', 'Asikkala'), 
     20    ('askainen', 'Askainen'), 
     21    ('askola', 'Askola'), 
     22    ('aura', 'Aura'), 
     23    ('brando', 'Brändö'), 
     24    ('dragsfjard', 'Dragsfjärd'), 
     25    ('eckero', 'Eckerö'), 
     26    ('elimaki', 'Elimäki'), 
     27    ('eno', 'Eno'), 
     28    ('enonkoski', 'Enonkoski'), 
     29    ('enontekio', 'Enontekiö'), 
     30    ('espoo', 'Espoo'), 
     31    ('eura', 'Eura'), 
     32    ('eurajoki', 'Eurajoki'), 
     33    ('evijarvi', 'Evijärvi'), 
     34    ('finstrom', 'Finström'), 
     35    ('forssa', 'Forssa'), 
     36    ('foglo', 'Föglö'), 
     37    ('geta', 'Geta'), 
     38    ('haapajarvi', 'Haapajärvi'), 
     39    ('haapavesi', 'Haapavesi'), 
     40    ('hailuoto', 'Hailuoto'), 
     41    ('halikko', 'Halikko'), 
     42    ('halsua', 'Halsua'), 
     43    ('hamina', 'Hamina'), 
     44    ('hammarland', 'Hammarland'), 
     45    ('hankasalmi', 'Hankasalmi'), 
     46    ('hanko', 'Hanko'), 
     47    ('harjavalta', 'Harjavalta'), 
     48    ('hartola', 'Hartola'), 
     49    ('hattula', 'Hattula'), 
     50    ('hauho', 'Hauho'), 
     51    ('haukipudas', 'Haukipudas'), 
     52    ('hausjarvi', 'Hausjärvi'), 
     53    ('heinola', 'Heinola'), 
     54    ('heinavesi', 'Heinävesi'), 
     55    ('helsinki', 'Helsinki'), 
     56    ('himanka', 'Himanka'), 
     57    ('hirvensalmi', 'Hirvensalmi'), 
     58    ('hollola', 'Hollola'), 
     59    ('honkajoki', 'Honkajoki'), 
     60    ('houtskari', 'Houtskari'), 
     61    ('huittinen', 'Huittinen'), 
     62    ('humppila', 'Humppila'), 
     63    ('hyrynsalmi', 'Hyrynsalmi'), 
     64    ('hyvinkaa', 'Hyvinkää'), 
     65    ('hameenkoski', 'Hämeenkoski'), 
     66    ('hameenkyro', 'Hämeenkyrö'), 
     67    ('hameenlinna', 'Hämeenlinna'), 
     68    ('ii', 'Ii'), 
     69    ('iisalmi', 'Iisalmi'), 
     70    ('iitti', 'Iitti'), 
     71    ('ikaalinen', 'Ikaalinen'), 
     72    ('ilmajoki', 'Ilmajoki'), 
     73    ('ilomantsi', 'Ilomantsi'), 
     74    ('imatra', 'Imatra'), 
     75    ('inari', 'Inari'), 
     76    ('inio', 'Iniö'), 
     77    ('inkoo', 'Inkoo'), 
     78    ('isojoki', 'Isojoki'), 
     79    ('isokyro', 'Isokyrö'), 
     80    ('jaala', 'Jaala'), 
     81    ('jalasjarvi', 'Jalasjärvi'), 
     82    ('janakkala', 'Janakkala'), 
     83    ('joensuu', 'Joensuu'), 
     84    ('jokioinen', 'Jokioinen'), 
     85    ('jomala', 'Jomala'), 
     86    ('joroinen', 'Joroinen'), 
     87    ('joutsa', 'Joutsa'), 
     88    ('joutseno', 'Joutseno'), 
     89    ('juankoski', 'Juankoski'), 
     90    ('jurva', 'Jurva'), 
     91    ('juuka', 'Juuka'), 
     92    ('juupajoki', 'Juupajoki'), 
     93    ('juva', 'Juva'), 
     94    ('jyvaskyla', 'Jyväskylä'), 
     95    ('jyvaskylan_mlk', 'Jyväskylän maalaiskunta'), 
     96    ('jamijarvi', 'Jämijärvi'), 
     97    ('jamsa', 'Jämsä'), 
     98    ('jamsankoski', 'Jämsänkoski'), 
     99    ('jarvenpaa', 'Järvenpää'), 
     100    ('kaarina', 'Kaarina'), 
     101    ('kaavi', 'Kaavi'), 
     102    ('kajaani', 'Kajaani'), 
     103    ('kalajoki', 'Kalajoki'), 
     104    ('kalvola', 'Kalvola'), 
     105    ('kangasala', 'Kangasala'), 
     106    ('kangasniemi', 'Kangasniemi'), 
     107    ('kankaanpaa', 'Kankaanpää'), 
     108    ('kannonkoski', 'Kannonkoski'), 
     109    ('kannus', 'Kannus'), 
     110    ('karijoki', 'Karijoki'), 
     111    ('karjaa', 'Karjaa'), 
     112    ('karjalohja', 'Karjalohja'), 
     113    ('karkkila', 'Karkkila'), 
     114    ('karstula', 'Karstula'), 
     115    ('karttula', 'Karttula'), 
     116    ('karvia', 'Karvia'), 
     117    ('kaskinen', 'Kaskinen'), 
     118    ('kauhajoki', 'Kauhajoki'), 
     119    ('kauhava', 'Kauhava'), 
     120    ('kauniainen', 'Kauniainen'), 
     121    ('kaustinen', 'Kaustinen'), 
     122    ('keitele', 'Keitele'), 
     123    ('kemi', 'Kemi'), 
     124    ('kemijarvi', 'Kemijärvi'), 
     125    ('keminmaa', 'Keminmaa'), 
     126    ('kemio', 'Kemiö'), 
     127    ('kempele', 'Kempele'), 
     128    ('kerava', 'Kerava'), 
     129    ('kerimaki', 'Kerimäki'), 
     130    ('kestila', 'Kestilä'), 
     131    ('kesalahti', 'Kesälahti'), 
     132    ('keuruu', 'Keuruu'), 
     133    ('kihnio', 'Kihniö'), 
     134    ('kiikala', 'Kiikala'), 
     135    ('kiikoinen', 'Kiikoinen'), 
     136    ('kiiminki', 'Kiiminki'), 
     137    ('kinnula', 'Kinnula'), 
     138    ('kirkkonummi', 'Kirkkonummi'), 
     139    ('kisko', 'Kisko'), 
     140    ('kitee', 'Kitee'), 
     141    ('kittila', 'Kittilä'), 
     142    ('kiukainen', 'Kiukainen'), 
     143    ('kiuruvesi', 'Kiuruvesi'), 
     144    ('kivijarvi', 'Kivijärvi'), 
     145    ('kokemaki', 'Kokemäki'), 
     146    ('kokkola', 'Kokkola'), 
     147    ('kolari', 'Kolari'), 
     148    ('konnevesi', 'Konnevesi'), 
     149    ('kontiolahti', 'Kontiolahti'), 
     150    ('korpilahti', 'Korpilahti'), 
     151    ('korppoo', 'Korppoo'), 
     152    ('korsnas', 'Korsnäs'), 
     153    ('kortesjarvi', 'Kortesjärvi'), 
     154    ('koskitl', 'KoskiTl'), 
     155    ('kotka', 'Kotka'), 
     156    ('kouvola', 'Kouvola'), 
     157    ('kristiinankaupunki', 'Kristiinankaupunki'), 
     158    ('kruunupyy', 'Kruunupyy'), 
     159    ('kuhmalahti', 'Kuhmalahti'), 
     160    ('kuhmo', 'Kuhmo'), 
     161    ('kuhmoinen', 'Kuhmoinen'), 
     162    ('kumlinge', 'Kumlinge'), 
     163    ('kuopio', 'Kuopio'), 
     164    ('kuortane', 'Kuortane'), 
     165    ('kurikka', 'Kurikka'), 
     166    ('kuru', 'Kuru'), 
     167    ('kustavi', 'Kustavi'), 
     168    ('kuusamo', 'Kuusamo'), 
     169    ('kuusankoski', 'Kuusankoski'), 
     170    ('kuusjoki', 'Kuusjoki'), 
     171    ('kylmakoski', 'Kylmäkoski'), 
     172    ('kyyjarvi', 'Kyyjärvi'), 
     173    ('kalvia', 'Kälviä'), 
     174    ('karkola', 'Kärkölä'), 
     175    ('karsamaki', 'Kärsämäki'), 
     176    ('kokar', 'Kökar'), 
     177    ('koylio', 'Köyliö'), 
     178    ('lahti', 'Lahti'), 
     179    ('laihia', 'Laihia'), 
     180    ('laitila', 'Laitila'), 
     181    ('lammi', 'Lammi'), 
     182    ('lapinjarvi', 'Lapinjärvi'), 
     183    ('lapinlahti', 'Lapinlahti'), 
     184    ('lappajarvi', 'Lappajärvi'), 
     185    ('lappeenranta', 'Lappeenranta'), 
     186    ('lappi', 'Lappi'), 
     187    ('lapua', 'Lapua'), 
     188    ('laukaa', 'Laukaa'), 
     189    ('lavia', 'Lavia'), 
     190    ('lehtimaki', 'Lehtimäki'), 
     191    ('leivonmaki', 'Leivonmäki'), 
     192    ('lemi', 'Lemi'), 
     193    ('lemland', 'Lemland'), 
     194    ('lempaala', 'Lempäälä'), 
     195    ('lemu', 'Lemu'), 
     196    ('leppavirta', 'Leppävirta'), 
     197    ('lestijarvi', 'Lestijärvi'), 
     198    ('lieksa', 'Lieksa'), 
     199    ('lieto', 'Lieto'), 
     200    ('liljendal', 'Liljendal'), 
     201    ('liminka', 'Liminka'), 
     202    ('liperi', 'Liperi'), 
     203    ('lohja', 'Lohja'), 
     204    ('lohtaja', 'Lohtaja'), 
     205    ('loimaa', 'Loimaa'), 
     206    ('loppi', 'Loppi'), 
     207    ('loviisa', 'Loviisa'), 
     208    ('luhanka', 'Luhanka'), 
     209    ('lumijoki', 'Lumijoki'), 
     210    ('lumparland', 'Lumparland'), 
     211    ('luoto', 'Luoto'), 
     212    ('luumaki', 'Luumäki'), 
     213    ('luvia', 'Luvia'), 
     214    ('maalahti', 'Maalahti'), 
     215    ('maaninka', 'Maaninka'), 
     216    ('maarianhamina', 'Maarianhamina'), 
     217    ('marttila', 'Marttila'), 
     218    ('masku', 'Masku'), 
     219    ('mellila', 'Mellilä'), 
     220    ('merijarvi', 'Merijärvi'), 
     221    ('merikarvia', 'Merikarvia'), 
     222    ('merimasku', 'Merimasku'), 
     223    ('miehikkala', 'Miehikkälä'), 
     224    ('mikkeli', 'Mikkeli'), 
     225    ('mouhijarvi', 'Mouhijärvi'), 
     226    ('muhos', 'Muhos'), 
     227    ('multia', 'Multia'), 
     228    ('muonio', 'Muonio'), 
     229    ('mustasaari', 'Mustasaari'), 
     230    ('muurame', 'Muurame'), 
     231    ('muurla', 'Muurla'), 
     232    ('mynamaki', 'Mynämäki'), 
     233    ('myrskyla', 'Myrskylä'), 
     234    ('mantsala', 'Mäntsälä'), 
     235    ('mantta', 'Mänttä'), 
     236    ('mantyharju', 'Mäntyharju'), 
     237    ('naantali', 'Naantali'), 
     238    ('nakkila', 'Nakkila'), 
     239    ('nastola', 'Nastola'), 
     240    ('nauvo', 'Nauvo'), 
     241    ('nilsia', 'Nilsiä'), 
     242    ('nivala', 'Nivala'), 
     243    ('nokia', 'Nokia'), 
     244    ('noormarkku', 'Noormarkku'), 
     245    ('nousiainen', 'Nousiainen'), 
     246    ('nummi-pusula', 'Nummi-Pusula'), 
     247    ('nurmes', 'Nurmes'), 
     248    ('nurmijarvi', 'Nurmijärvi'), 
     249    ('nurmo', 'Nurmo'), 
     250    ('narpio', 'Närpiö'), 
     251    ('oravainen', 'Oravainen'), 
     252    ('orimattila', 'Orimattila'), 
     253    ('oripaa', 'Oripää'), 
     254    ('orivesi', 'Orivesi'), 
     255    ('oulainen', 'Oulainen'), 
     256    ('oulu', 'Oulu'), 
     257    ('oulunsalo', 'Oulunsalo'), 
     258    ('outokumpu', 'Outokumpu'), 
     259    ('padasjoki', 'Padasjoki'), 
     260    ('paimio', 'Paimio'), 
     261    ('paltamo', 'Paltamo'), 
     262    ('parainen', 'Parainen'), 
     263    ('parikkala', 'Parikkala'), 
     264    ('parkano', 'Parkano'), 
     265    ('pedersore', 'Pedersöre'), 
     266    ('pelkosenniemi', 'Pelkosenniemi'), 
     267    ('pello', 'Pello'), 
     268    ('perho', 'Perho'), 
     269    ('pernaja', 'Pernaja'), 
     270    ('pernio', 'Perniö'), 
     271    ('pertteli', 'Pertteli'), 
     272    ('pertunmaa', 'Pertunmaa'), 
     273    ('petajavesi', 'Petäjävesi'), 
     274    ('pieksamaki', 'Pieksämäki'), 
     275    ('pielavesi', 'Pielavesi'), 
     276    ('pietarsaari', 'Pietarsaari'), 
     277    ('pihtipudas', 'Pihtipudas'), 
     278    ('piikkio', 'Piikkiö'), 
     279    ('piippola', 'Piippola'), 
     280    ('pirkkala', 'Pirkkala'), 
     281    ('pohja', 'Pohja'), 
     282    ('polvijarvi', 'Polvijärvi'), 
     283    ('pomarkku', 'Pomarkku'), 
     284    ('pori', 'Pori'), 
     285    ('pornainen', 'Pornainen'), 
     286    ('porvoo', 'Porvoo'), 
     287    ('posio', 'Posio'), 
     288    ('pudasjarvi', 'Pudasjärvi'), 
     289    ('pukkila', 'Pukkila'), 
     290    ('pulkkila', 'Pulkkila'), 
     291    ('punkaharju', 'Punkaharju'), 
     292    ('punkalaidun', 'Punkalaidun'), 
     293    ('puolanka', 'Puolanka'), 
     294    ('puumala', 'Puumala'), 
     295    ('pyhtaa', 'Pyhtää'), 
     296    ('pyhajoki', 'Pyhäjoki'), 
     297    ('pyhajarvi', 'Pyhäjärvi'), 
     298    ('pyhanta', 'Pyhäntä'), 
     299    ('pyharanta', 'Pyhäranta'), 
     300    ('pyhaselka', 'Pyhäselkä'), 
     301    ('pylkonmaki', 'Pylkönmäki'), 
     302    ('palkane', 'Pälkäne'), 
     303    ('poytya', 'Pöytyä'), 
     304    ('raahe', 'Raahe'), 
     305    ('raisio', 'Raisio'), 
     306    ('rantasalmi', 'Rantasalmi'), 
     307    ('rantsila', 'Rantsila'), 
     308    ('ranua', 'Ranua'), 
     309    ('rauma', 'Rauma'), 
     310    ('rautalampi', 'Rautalampi'), 
     311    ('rautavaara', 'Rautavaara'), 
     312    ('rautjarvi', 'Rautjärvi'), 
     313    ('reisjarvi', 'Reisjärvi'), 
     314    ('renko', 'Renko'), 
     315    ('riihimaki', 'Riihimäki'), 
     316    ('ristiina', 'Ristiina'), 
     317    ('ristijarvi', 'Ristijärvi'), 
     318    ('rovaniemi', 'Rovaniemi'), 
     319    ('ruokolahti', 'Ruokolahti'), 
     320    ('ruotsinpyhtaa', 'Ruotsinpyhtää'), 
     321    ('ruovesi', 'Ruovesi'), 
     322    ('rusko', 'Rusko'), 
     323    ('rymattyla', 'Rymättylä'), 
     324    ('raakkyla', 'Rääkkylä'), 
     325    ('saarijarvi', 'Saarijärvi'), 
     326    ('salla', 'Salla'), 
     327    ('salo', 'Salo'), 
     328    ('saltvik', 'Saltvik'), 
     329    ('sammatti', 'Sammatti'), 
     330    ('sauvo', 'Sauvo'), 
     331    ('savitaipale', 'Savitaipale'), 
     332    ('savonlinna', 'Savonlinna'), 
     333    ('savonranta', 'Savonranta'), 
     334    ('savukoski', 'Savukoski'), 
     335    ('seinajoki', 'Seinäjoki'), 
     336    ('sievi', 'Sievi'), 
     337    ('siikainen', 'Siikainen'), 
     338    ('siikajoki', 'Siikajoki'), 
     339    ('siilinjarvi', 'Siilinjärvi'), 
     340    ('simo', 'Simo'), 
     341    ('sipoo', 'Sipoo'), 
     342    ('siuntio', 'Siuntio'), 
     343    ('sodankyla', 'Sodankylä'), 
     344    ('soini', 'Soini'), 
     345    ('somero', 'Somero'), 
     346    ('sonkajarvi', 'Sonkajärvi'), 
     347    ('sotkamo', 'Sotkamo'), 
     348    ('sottunga', 'Sottunga'), 
     349    ('sulkava', 'Sulkava'), 
     350    ('sund', 'Sund'), 
     351    ('suomenniemi', 'Suomenniemi'), 
     352    ('suomusjarvi', 'Suomusjärvi'), 
     353    ('suomussalmi', 'Suomussalmi'), 
     354    ('suonenjoki', 'Suonenjoki'), 
     355    ('sysma', 'Sysmä'), 
     356    ('sakyla', 'Säkylä'), 
     357    ('sarkisalo', 'Särkisalo'), 
     358    ('taipalsaari', 'Taipalsaari'), 
     359    ('taivalkoski', 'Taivalkoski'), 
     360    ('taivassalo', 'Taivassalo'), 
     361    ('tammela', 'Tammela'), 
     362    ('tammisaari', 'Tammisaari'), 
     363    ('tampere', 'Tampere'), 
     364    ('tarvasjoki', 'Tarvasjoki'), 
     365    ('tervo', 'Tervo'), 
     366    ('tervola', 'Tervola'), 
     367    ('teuva', 'Teuva'), 
     368    ('tohmajarvi', 'Tohmajärvi'), 
     369    ('toholampi', 'Toholampi'), 
     370    ('toivakka', 'Toivakka'), 
     371    ('tornio', 'Tornio'), 
     372    ('turku', 'Turku'), 
     373    ('tuulos', 'Tuulos'), 
     374    ('tuusniemi', 'Tuusniemi'), 
     375    ('tuusula', 'Tuusula'), 
     376    ('tyrnava', 'Tyrnävä'), 
     377    ('toysa', 'Töysä'), 
     378    ('ullava', 'Ullava'), 
     379    ('ulvila', 'Ulvila'), 
     380    ('urjala', 'Urjala'), 
     381    ('utajarvi', 'Utajärvi'), 
     382    ('utsjoki', 'Utsjoki'), 
     383    ('uurainen', 'Uurainen'), 
     384    ('uusikaarlepyy', 'Uusikaarlepyy'), 
     385    ('uusikaupunki', 'Uusikaupunki'), 
     386    ('vaala', 'Vaala'), 
     387    ('vaasa', 'Vaasa'), 
     388    ('vahto', 'Vahto'), 
     389    ('valkeakoski', 'Valkeakoski'), 
     390    ('valkeala', 'Valkeala'), 
     391    ('valtimo', 'Valtimo'), 
     392    ('vammala', 'Vammala'), 
     393    ('vampula', 'Vampula'), 
     394    ('vantaa', 'Vantaa'), 
     395    ('varkaus', 'Varkaus'), 
     396    ('varpaisjarvi', 'Varpaisjärvi'), 
     397    ('vehmaa', 'Vehmaa'), 
     398    ('velkua', 'Velkua'), 
     399    ('vesanto', 'Vesanto'), 
     400    ('vesilahti', 'Vesilahti'), 
     401    ('veteli', 'Veteli'), 
     402    ('vierema', 'Vieremä'), 
     403    ('vihanti', 'Vihanti'), 
     404    ('vihti', 'Vihti'), 
     405    ('viitasaari', 'Viitasaari'), 
     406    ('vilppula', 'Vilppula'), 
     407    ('vimpeli', 'Vimpeli'), 
     408    ('virolahti', 'Virolahti'), 
     409    ('virrat', 'Virrat'), 
     410    ('vardo', 'Vårdö'), 
     411    ('vahakyro', 'Vähäkyrö'), 
     412    ('vastanfjard', 'Västanfjärd'), 
     413    ('voyri-maksamaa', 'Vöyri-Maksamaa'), 
     414    ('yliharma', 'Ylihärmä'), 
     415    ('yli-ii', 'Yli-Ii'), 
     416    ('ylikiiminki', 'Ylikiiminki'), 
     417    ('ylistaro', 'Ylistaro'), 
     418    ('ylitornio', 'Ylitornio'), 
     419    ('ylivieska', 'Ylivieska'), 
     420    ('ylamaa', 'Ylämaa'), 
     421    ('ylane', 'Yläne'), 
     422    ('ylojarvi', 'Ylöjärvi'), 
     423    ('ypaja', 'Ypäjä'), 
     424    ('aetsa', 'Äetsä'), 
     425    ('ahtari', 'Ähtäri'), 
     426    ('aanekoski', 'Äänekoski') 
     427) 
  • django/contrib/localflavor/fi/forms.py

    old new  
     1""" 
     2FI-specific Form helpers 
     3""" 
     4 
     5from django.newforms import ValidationError 
     6from django.newforms.fields import RegexField, Select 
     7from django.utils.translation import gettext 
     8 
     9class FIZipCodeField(RegexField): 
     10    def __init__(self, *args, **kwargs): 
     11        super(FIZipCodeField, self).__init__(r'^\d{5}$', 
     12            max_length=None, min_length=None, 
     13            error_message=gettext(u'Enter a zip code in the format XXXXX.'), 
     14            *args, **kwargs) 
     15 
     16class FIMunicipalitySelect(Select): 
     17    """ 
     18    A Select widget that uses a list of Finnish municipalities as its choices. 
     19    """ 
     20    def __init__(self, attrs=None): 
     21        from fi_municipalities import MUNICIPALITY_CHOICES # relative import 
     22        super(FIMunicipalitySelect, self).__init__(attrs, choices=MUNICIPALITY_CHOICES) 
  • tests/regressiontests/forms/tests.py

    old new  
    38783878<option value="okinawa">Okinawa</option> 
    38793879</select> 
    38803880 
     3881# FIZipCodeField ############################################################# 
    38813882 
     3883FIZipCodeField validates that the data is a valid FI zipcode. 
     3884>>> from django.contrib.localflavor.fi.forms import FIZipCodeField 
     3885>>> f = FIZipCodeField() 
     3886>>> f.clean('20540') 
     3887u'20540' 
     3888>>> f.clean('20101') 
     3889u'20101' 
     3890>>> f.clean('20s40') 
     3891Traceback (most recent call last): 
     3892... 
     3893ValidationError: [u'Enter a zip code in the format XXXXX.'] 
     3894>>> f.clean('205401') 
     3895Traceback (most recent call last): 
     3896... 
     3897ValidationError: [u'Enter a zip code in the format XXXXX.'] 
     3898>>> f.clean(None) 
     3899Traceback (most recent call last): 
     3900... 
     3901ValidationError: [u'This field is required.'] 
     3902>>> f.clean('') 
     3903Traceback (most recent call last): 
     3904... 
     3905ValidationError: [u'This field is required.'] 
     3906 
     3907>>> f = FIZipCodeField(required=False) 
     3908>>> f.clean('20540') 
     3909u'20540' 
     3910>>> f.clean('20101') 
     3911u'20101' 
     3912>>> f.clean('20s40') 
     3913Traceback (most recent call last): 
     3914... 
     3915ValidationError: [u'Enter a zip code in the format XXXXX.'] 
     3916>>> f.clean('205401') 
     3917Traceback (most recent call last): 
     3918... 
     3919ValidationError: [u'Enter a zip code in the format XXXXX.'] 
     3920>>> f.clean(None) 
     3921u'' 
     3922>>> f.clean('') 
     3923u'' 
     3924 
     3925# FIMunicipalitySelect ###############################################################  
     3926 
     3927A Select widget that uses a list of Finnish municipalities as its choices.  
     3928>>> from django.contrib.localflavor.fi.forms import FIMunicipalitySelect  
     3929>>> w = FIMunicipalitySelect()  
     3930>>> unicode(w.render('municipalities', 'turku')) 
     3931u'<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>' 
     3932 
    38823933################################# 
    38833934# Tests of underlying functions # 
    38843935################################# 
  • AUTHORS

    old new  
    183183    Radek Švarz <http://www.svarz.cz/translate/> 
    184184    Swaroop C H <http://www.swaroopch.info> 
    185185    Aaron Swartz <http://www.aaronsw.com/> 
     186    Ville Säävuori <http://www.unessa.net/> 
    186187    Tyson Tate <tyson@fallingbullets.com> 
    187188    Tom Tobin 
    188189    Joe Topjian <http://joe.terrarum.net/geek/code/python/django/>