Back to index

plone3  3.1.7
countries.py
Go to the documentation of this file.
00001 # -*- coding: UTF-8 -*-
00002 
00003 from plone.i18n.locales.interfaces import ICountryAvailability
00004 from zope.interface import implements
00005 
00006 class CountryAvailability(object):
00007     """A list of available coutries.
00008 
00009     Let's make sure that this implementation actually fulfills the API.
00010 
00011       >>> from zope.interface.verify import verifyClass
00012       >>> verifyClass(ICountryAvailability, CountryAvailability)
00013       True
00014     """
00015     implements(ICountryAvailability)
00016 
00017     def getAvailableCountries(self):
00018         """Return a sequence of country tags for available countries.
00019         """
00020         return _countrylist.keys()
00021 
00022     def getCountries(self):
00023         """Return a sequence of Country objects for available countries.
00024         """
00025         return _countrylist.copy()
00026 
00027     def getCountryListing(self):
00028         """Return a sequence of country code and country name tuples.
00029         """
00030         return [(code, _countrylist[code][u'name']) for code in _countrylist]
00031 
00032 countries = CountryAvailability()
00033 
00034 # This is a dictionary of dictonaries:
00035 #
00036 # 'country-code' : {u'name' : 'English name', u'flag' : u'/++resource++country-flags/*.gif'}
00037 
00038 _countrylist = {
00039 u'ad' : {u'name' : 'Andorra', u'flag' : u'/++resource++country-flags/ad.gif'},
00040 u'ae' : {u'name' : 'United Arab Emirates', u'flag' : u'/++resource++country-flags/ae.gif'},
00041 u'af' : {u'name' : 'Afghanistan', u'flag' : u'/++resource++country-flags/af.gif'},
00042 u'ag' : {u'name' : 'Antigua and Barbuda', u'flag' : u'/++resource++country-flags/ag.gif'},
00043 u'ai' : {u'name' : 'Anguilla', u'flag' : u'/++resource++country-flags/ai.gif'},
00044 u'al' : {u'name' : 'Albania', u'flag' : u'/++resource++country-flags/al.gif'},
00045 u'am' : {u'name' : 'Armenia', u'flag' : u'/++resource++country-flags/am.gif'},
00046 u'an' : {u'name' : 'Netherlands Antilles', u'flag' : u'/++resource++country-flags/an.gif'},
00047 u'ao' : {u'name' : 'Angola', u'flag' : u'/++resource++country-flags/ao.gif'},
00048 u'aq' : {u'name' : 'Antarctica', u'flag' : u'/++resource++country-flags/aq.gif'},
00049 u'ar' : {u'name' : 'Argentina', u'flag' : u'/++resource++country-flags/ar.gif'},
00050 u'as' : {u'name' : 'American Samoa', u'flag' : u'/++resource++country-flags/as.gif'},
00051 u'at' : {u'name' : 'Austria', u'flag' : u'/++resource++country-flags/at.gif'},
00052 u'au' : {u'name' : 'Australia', u'flag' : u'/++resource++country-flags/au.gif'},
00053 u'aw' : {u'name' : 'Aruba', u'flag' : u'/++resource++country-flags/aw.gif'},
00054 u'ax' : {u'name' : 'Oland Islands', u'flag' : u'/++resource++country-flags/ax.gif'},
00055 u'az' : {u'name' : 'Azerbaijan', u'flag' : u'/++resource++country-flags/az.gif'},
00056 u'ba' : {u'name' : 'Bosnia and Herzegovina', u'flag' : u'/++resource++country-flags/ba.gif'},
00057 u'bb' : {u'name' : 'Barbados', u'flag' : u'/++resource++country-flags/bb.gif'},
00058 u'bd' : {u'name' : 'Bangladesh', u'flag' : u'/++resource++country-flags/bd.gif'},
00059 u'be' : {u'name' : 'Belgium', u'flag' : u'/++resource++country-flags/be.gif'},
00060 u'bf' : {u'name' : 'Burkina Faso', u'flag' : u'/++resource++country-flags/bf.gif'},
00061 u'bg' : {u'name' : 'Bulgaria', u'flag' : u'/++resource++country-flags/bg.gif'},
00062 u'bh' : {u'name' : 'Bahrain', u'flag' : u'/++resource++country-flags/bh.gif'},
00063 u'bi' : {u'name' : 'Burundi', u'flag' : u'/++resource++country-flags/bi.gif'},
00064 u'bj' : {u'name' : 'Benin', u'flag' : u'/++resource++country-flags/bj.gif'},
00065 u'bm' : {u'name' : 'Bermuda', u'flag' : u'/++resource++country-flags/bm.gif'},
00066 u'bn' : {u'name' : 'Brunei Darussalam', u'flag' : u'/++resource++country-flags/bn.gif'},
00067 u'bo' : {u'name' : 'Bolivia', u'flag' : u'/++resource++country-flags/bo.gif'},
00068 u'br' : {u'name' : 'Brazil', u'flag' : u'/++resource++country-flags/br.gif'},
00069 u'bs' : {u'name' : 'Bahamas', u'flag' : u'/++resource++country-flags/bs.gif'},
00070 u'bt' : {u'name' : 'Bhutan', u'flag' : u'/++resource++country-flags/bt.gif'},
00071 u'bv' : {u'name' : 'Bouvet Island', u'flag' : u'/++resource++country-flags/bv.gif'},
00072 u'bw' : {u'name' : 'Botswana', u'flag' : u'/++resource++country-flags/bw.gif'},
00073 u'by' : {u'name' : 'Belarus', u'flag' : u'/++resource++country-flags/by.gif'},
00074 u'bz' : {u'name' : 'Belize', u'flag' : u'/++resource++country-flags/bz.gif'},
00075 u'ca' : {u'name' : 'Canada', u'flag' : u'/++resource++country-flags/ca.gif'},
00076 u'cc' : {u'name' : 'Cocos (Keeling) Islands', u'flag' : u'/++resource++country-flags/cc.gif'},
00077 u'cd' : {u'name' : 'Congo The Democratic Republic of', u'flag' : u'/++resource++country-flags/cd.gif'},
00078 u'cf' : {u'name' : 'Central African Republic', u'flag' : u'/++resource++country-flags/cf.gif'},
00079 u'cg' : {u'name' : 'Congo', u'flag' : u'/++resource++country-flags/cg.gif'},
00080 u'ch' : {u'name' : 'Switzerland', u'flag' : u'/++resource++country-flags/ch.gif'},
00081 u'ci' : {u'name' : "Cote d'Ivoire", u'flag' : u'/++resource++country-flags/ci.gif'},
00082 u'ck' : {u'name' : 'Cook Islands', u'flag' : u'/++resource++country-flags/ck.gif'},
00083 u'cl' : {u'name' : 'Chile', u'flag' : u'/++resource++country-flags/cl.gif'},
00084 u'cm' : {u'name' : 'Cameroon', u'flag' : u'/++resource++country-flags/cm.gif'},
00085 u'cn' : {u'name' : 'China', u'flag' : u'/++resource++country-flags/cn.gif'},
00086 u'co' : {u'name' : 'Colombia', u'flag' : u'/++resource++country-flags/co.gif'},
00087 u'cr' : {u'name' : 'Costa Rica', u'flag' : u'/++resource++country-flags/cr.gif'},
00088 u'cs' : {u'name' : 'Serbia and Montenegro', u'flag' : u'/++resource++country-flags/cs.gif'},
00089 u'cu' : {u'name' : 'Cuba', u'flag' : u'/++resource++country-flags/cu.gif'},
00090 u'cv' : {u'name' : 'Cape Verde', u'flag' : u'/++resource++country-flags/cv.gif'},
00091 u'cx' : {u'name' : 'Christmas Island', u'flag' : u'/++resource++country-flags/cx.gif'},
00092 u'cy' : {u'name' : 'Cyprus', u'flag' : u'/++resource++country-flags/cy.gif'},
00093 u'cz' : {u'name' : 'Czech Republic', u'flag' : u'/++resource++country-flags/cz.gif'},
00094 u'de' : {u'name' : 'Germany', u'flag' : u'/++resource++country-flags/de.gif'},
00095 u'dj' : {u'name' : 'Djibouti', u'flag' : u'/++resource++country-flags/dj.gif'},
00096 u'dk' : {u'name' : 'Denmark', u'flag' : u'/++resource++country-flags/dk.gif'},
00097 u'dm' : {u'name' : 'Dominica', u'flag' : u'/++resource++country-flags/dm.gif'},
00098 u'do' : {u'name' : 'Dominican Republic', u'flag' : u'/++resource++country-flags/do.gif'},
00099 u'dz' : {u'name' : 'Algeria', u'flag' : u'/++resource++country-flags/dz.gif'},
00100 u'ec' : {u'name' : 'Ecuador', u'flag' : u'/++resource++country-flags/ec.gif'},
00101 u'ee' : {u'name' : 'Estonia', u'flag' : u'/++resource++country-flags/ee.gif'},
00102 u'eg' : {u'name' : 'Egypt', u'flag' : u'/++resource++country-flags/eg.gif'},
00103 u'eh' : {u'name' : 'Western Sahara', u'flag' : u'/++resource++country-flags/eh.gif'},
00104 u'er' : {u'name' : 'Eritrea', u'flag' : u'/++resource++country-flags/er.gif'},
00105 u'es' : {u'name' : 'Spain', u'flag' : u'/++resource++country-flags/es.gif'},
00106 u'et' : {u'name' : 'Ethiopia', u'flag' : u'/++resource++country-flags/et.gif'},
00107 u'fi' : {u'name' : 'Finland', u'flag' : u'/++resource++country-flags/fi.gif'},
00108 u'fj' : {u'name' : 'Fiji', u'flag' : u'/++resource++country-flags/fj.gif'},
00109 u'fk' : {u'name' : 'Falkland Islands (Malvinas)', u'flag' : u'/++resource++country-flags/fk.gif'},
00110 u'fm' : {u'name' : 'Micronesia Federated States of', u'flag' : u'/++resource++country-flags/fm.gif'},
00111 u'fo' : {u'name' : 'Faroe Islands', u'flag' : u'/++resource++country-flags/fo.gif'},
00112 u'fr' : {u'name' : 'France', u'flag' : u'/++resource++country-flags/fr.gif'},
00113 u'ga' : {u'name' : 'Gabon', u'flag' : u'/++resource++country-flags/ga.gif'},
00114 u'gb' : {u'name' : 'United Kingdom', u'flag' : u'/++resource++country-flags/gb.gif'},
00115 u'gd' : {u'name' : 'Grenada', u'flag' : u'/++resource++country-flags/gd.gif'},
00116 u'ge' : {u'name' : 'Georgia', u'flag' : u'/++resource++country-flags/ge.gif'},
00117 u'gf' : {u'name' : 'French Guiana', u'flag' : u'/++resource++country-flags/gf.gif'},
00118 u'gg' : {u'name' : 'Guernsey', u'flag' : u'/++resource++country-flags/gg.gif'},
00119 u'gh' : {u'name' : 'Ghana', u'flag' : u'/++resource++country-flags/gh.gif'},
00120 u'gi' : {u'name' : 'Gibraltar', u'flag' : u'/++resource++country-flags/gi.gif'},
00121 u'gl' : {u'name' : 'Greenland', u'flag' : u'/++resource++country-flags/gl.gif'},
00122 u'gm' : {u'name' : 'Gambia', u'flag' : u'/++resource++country-flags/gm.gif'},
00123 u'gn' : {u'name' : 'Guinea', u'flag' : u'/++resource++country-flags/gn.gif'},
00124 u'gp' : {u'name' : 'Guadeloupe', u'flag' : u'/++resource++country-flags/gp.gif'},
00125 u'gq' : {u'name' : 'Equatorial Guinea', u'flag' : u'/++resource++country-flags/gq.gif'},
00126 u'gr' : {u'name' : 'Greece', u'flag' : u'/++resource++country-flags/gr.gif'},
00127 u'gs' : {u'name' : 'South Georgia and the South Sandwich Islands', u'flag' : u'/++resource++country-flags/gs.gif'},
00128 u'gt' : {u'name' : 'Guatemala', u'flag' : u'/++resource++country-flags/gt.gif'},
00129 u'gu' : {u'name' : 'Guam', u'flag' : u'/++resource++country-flags/gu.gif'},
00130 u'gw' : {u'name' : 'Guinea-Bissau', u'flag' : u'/++resource++country-flags/gw.gif'},
00131 u'gy' : {u'name' : 'Guyana', u'flag' : u'/++resource++country-flags/gy.gif'},
00132 u'hk' : {u'name' : 'Hong Kong', u'flag' : u'/++resource++country-flags/hk.gif'},
00133 u'hm' : {u'name' : 'Heard Island and McDonald Islands', u'flag' : u'/++resource++country-flags/hm.gif'},
00134 u'hn' : {u'name' : 'Honduras', u'flag' : u'/++resource++country-flags/hn.gif'},
00135 u'hr' : {u'name' : 'Croatia', u'flag' : u'/++resource++country-flags/hr.gif'},
00136 u'ht' : {u'name' : 'Haiti', u'flag' : u'/++resource++country-flags/ht.gif'},
00137 u'hu' : {u'name' : 'Hungary', u'flag' : u'/++resource++country-flags/hu.gif'},
00138 u'id' : {u'name' : 'Indonesia', u'flag' : u'/++resource++country-flags/id.gif'},
00139 u'ie' : {u'name' : 'Ireland', u'flag' : u'/++resource++country-flags/ie.gif'},
00140 u'il' : {u'name' : 'Israel', u'flag' : u'/++resource++country-flags/il.gif'},
00141 u'im' : {u'name' : 'Isle of Man', u'flag' : u'/++resource++country-flags/im.gif'},
00142 u'in' : {u'name' : 'India', u'flag' : u'/++resource++country-flags/in.gif'},
00143 u'io' : {u'name' : 'British Indian Ocean Territory', u'flag' : u'/++resource++country-flags/io.gif'},
00144 u'iq' : {u'name' : 'Iraq', u'flag' : u'/++resource++country-flags/iq.gif'},
00145 u'ir' : {u'name' : 'Iran Islamic Republic of', u'flag' : u'/++resource++country-flags/ir.gif'},
00146 u'is' : {u'name' : 'Iceland', u'flag' : u'/++resource++country-flags/is.gif'},
00147 u'it' : {u'name' : 'Italy', u'flag' : u'/++resource++country-flags/it.gif'},
00148 u'je' : {u'name' : 'Jersey', u'flag' : u'/++resource++country-flags/je.gif'},
00149 u'jm' : {u'name' : 'Jamaica', u'flag' : u'/++resource++country-flags/jm.gif'},
00150 u'jo' : {u'name' : 'Jordan', u'flag' : u'/++resource++country-flags/jo.gif'},
00151 u'jp' : {u'name' : 'Japan', u'flag' : u'/++resource++country-flags/jp.gif'},
00152 u'ke' : {u'name' : 'Kenya', u'flag' : u'/++resource++country-flags/ke.gif'},
00153 u'kg' : {u'name' : 'Kyrgyzstan', u'flag' : u'/++resource++country-flags/kg.gif'},
00154 u'kh' : {u'name' : 'Cambodia', u'flag' : u'/++resource++country-flags/kh.gif'},
00155 u'ki' : {u'name' : 'Kiribati', u'flag' : u'/++resource++country-flags/ki.gif'},
00156 u'km' : {u'name' : 'Comoros', u'flag' : u'/++resource++country-flags/km.gif'},
00157 u'kn' : {u'name' : 'Saint Kitts and Nevis', u'flag' : u'/++resource++country-flags/kn.gif'},
00158 u'kp' : {u'name' : "Korea Democratic People's Republic of", u'flag' : u'/++resource++country-flags/kp.gif'},
00159 u'kr' : {u'name' : 'Korea Republic of', u'flag' : u'/++resource++country-flags/kr.gif'},
00160 u'kw' : {u'name' : 'Kuwait', u'flag' : u'/++resource++country-flags/kw.gif'},
00161 u'ky' : {u'name' : 'Cayman Islands', u'flag' : u'/++resource++country-flags/ky.gif'},
00162 u'kz' : {u'name' : 'Kazakhstan', u'flag' : u'/++resource++country-flags/kz.gif'},
00163 u'la' : {u'name' : "Lao People's Democratic Republic", u'flag' : u'/++resource++country-flags/la.gif'},
00164 u'lb' : {u'name' : 'Lebanon', u'flag' : u'/++resource++country-flags/lb.gif'},
00165 u'lc' : {u'name' : 'Saint Lucia', u'flag' : u'/++resource++country-flags/lc.gif'},
00166 u'li' : {u'name' : 'Liechtenstein', u'flag' : u'/++resource++country-flags/li.gif'},
00167 u'lk' : {u'name' : 'Sri Lanka', u'flag' : u'/++resource++country-flags/lk.gif'},
00168 u'lr' : {u'name' : 'Liberia', u'flag' : u'/++resource++country-flags/lr.gif'},
00169 u'ls' : {u'name' : 'Lesotho', u'flag' : u'/++resource++country-flags/ls.gif'},
00170 u'lt' : {u'name' : 'Lithuania', u'flag' : u'/++resource++country-flags/lt.gif'},
00171 u'lu' : {u'name' : 'Luxembourg', u'flag' : u'/++resource++country-flags/lu.gif'},
00172 u'lv' : {u'name' : 'Latvia', u'flag' : u'/++resource++country-flags/lv.gif'},
00173 u'ly' : {u'name' : 'Libyan Arab Jamahiriya', u'flag' : u'/++resource++country-flags/ly.gif'},
00174 u'ma' : {u'name' : 'Morocco', u'flag' : u'/++resource++country-flags/ma.gif'},
00175 u'mc' : {u'name' : 'Monaco', u'flag' : u'/++resource++country-flags/mc.gif'},
00176 u'md' : {u'name' : 'Moldova Republic of', u'flag' : u'/++resource++country-flags/md.gif'},
00177 u'mg' : {u'name' : 'Madagascar', u'flag' : u'/++resource++country-flags/mg.gif'},
00178 u'mh' : {u'name' : 'Marshall Islands', u'flag' : u'/++resource++country-flags/mh.gif'},
00179 u'mk' : {u'name' : 'Macedonia the former Yugoslavian Republic of', u'flag' : u'/++resource++country-flags/mk.gif'},
00180 u'ml' : {u'name' : 'Mali', u'flag' : u'/++resource++country-flags/ml.gif'},
00181 u'mm' : {u'name' : 'Myanmar', u'flag' : u'/++resource++country-flags/mm.gif'},
00182 u'mn' : {u'name' : 'Mongolia', u'flag' : u'/++resource++country-flags/mn.gif'},
00183 u'mo' : {u'name' : 'Macao', u'flag' : u'/++resource++country-flags/mo.gif'},
00184 u'mp' : {u'name' : 'Northern Mariana Islands', u'flag' : u'/++resource++country-flags/mp.gif'},
00185 u'mq' : {u'name' : 'Martinique', u'flag' : u'/++resource++country-flags/mq.gif'},
00186 u'mr' : {u'name' : 'Mauritania', u'flag' : u'/++resource++country-flags/mr.gif'},
00187 u'ms' : {u'name' : 'Montserrat', u'flag' : u'/++resource++country-flags/ms.gif'},
00188 u'mt' : {u'name' : 'Malta', u'flag' : u'/++resource++country-flags/mt.gif'},
00189 u'mu' : {u'name' : 'Mauritius', u'flag' : u'/++resource++country-flags/mu.gif'},
00190 u'mv' : {u'name' : 'Maldives', u'flag' : u'/++resource++country-flags/mv.gif'},
00191 u'mw' : {u'name' : 'Malawi', u'flag' : u'/++resource++country-flags/mw.gif'},
00192 u'mx' : {u'name' : 'Mexico', u'flag' : u'/++resource++country-flags/mx.gif'},
00193 u'my' : {u'name' : 'Malaysia', u'flag' : u'/++resource++country-flags/my.gif'},
00194 u'mz' : {u'name' : 'Mozambique', u'flag' : u'/++resource++country-flags/mz.gif'},
00195 u'na' : {u'name' : 'Namibia', u'flag' : u'/++resource++country-flags/na.gif'},
00196 u'nc' : {u'name' : 'New Caledonia', u'flag' : u'/++resource++country-flags/nc.gif'},
00197 u'ne' : {u'name' : 'Niger', u'flag' : u'/++resource++country-flags/ne.gif'},
00198 u'nf' : {u'name' : 'Norfolk Island', u'flag' : u'/++resource++country-flags/nf.gif'},
00199 u'ng' : {u'name' : 'Nigeria', u'flag' : u'/++resource++country-flags/ng.gif'},
00200 u'ni' : {u'name' : 'Nicaragua', u'flag' : u'/++resource++country-flags/ni.gif'},
00201 u'nl' : {u'name' : 'Netherlands', u'flag' : u'/++resource++country-flags/nl.gif'},
00202 u'no' : {u'name' : 'Norway', u'flag' : u'/++resource++country-flags/no.gif'},
00203 u'np' : {u'name' : 'Nepal', u'flag' : u'/++resource++country-flags/np.gif'},
00204 u'nr' : {u'name' : 'Nauru', u'flag' : u'/++resource++country-flags/nr.gif'},
00205 u'nu' : {u'name' : 'Niue', u'flag' : u'/++resource++country-flags/nu.gif'},
00206 u'nz' : {u'name' : 'New Zealand', u'flag' : u'/++resource++country-flags/nz.gif'},
00207 u'om' : {u'name' : 'Oman', u'flag' : u'/++resource++country-flags/om.gif'},
00208 u'pa' : {u'name' : 'Panama', u'flag' : u'/++resource++country-flags/pa.gif'},
00209 u'pe' : {u'name' : 'Peru', u'flag' : u'/++resource++country-flags/pe.gif'},
00210 u'pf' : {u'name' : 'French Polynesia', u'flag' : u'/++resource++country-flags/pf.gif'},
00211 u'pg' : {u'name' : 'Papua New Guinea', u'flag' : u'/++resource++country-flags/pg.gif'},
00212 u'ph' : {u'name' : 'Philippines', u'flag' : u'/++resource++country-flags/ph.gif'},
00213 u'pk' : {u'name' : 'Pakistan', u'flag' : u'/++resource++country-flags/pk.gif'},
00214 u'pl' : {u'name' : 'Poland', u'flag' : u'/++resource++country-flags/pl.gif'},
00215 u'pm' : {u'name' : 'Saint Pierre and Miquelon', u'flag' : u'/++resource++country-flags/pm.gif'},
00216 u'pn' : {u'name' : 'Pitcairn', u'flag' : u'/++resource++country-flags/pn.gif'},
00217 u'pr' : {u'name' : 'Puerto Rico', u'flag' : u'/++resource++country-flags/pr.gif'},
00218 u'ps' : {u'name' : 'Palestinian Territory occupied', u'flag' : u'/++resource++country-flags/ps.gif'},
00219 u'pt' : {u'name' : 'Portugal', u'flag' : u'/++resource++country-flags/pt.gif'},
00220 u'pw' : {u'name' : 'Palau', u'flag' : u'/++resource++country-flags/pw.gif'},
00221 u'py' : {u'name' : 'Paraguay', u'flag' : u'/++resource++country-flags/py.gif'},
00222 u'qa' : {u'name' : 'Qatar', u'flag' : u'/++resource++country-flags/qa.gif'},
00223 u're' : {u'name' : 'Reunion', u'flag' : u'/++resource++country-flags/re.gif'},
00224 u'ro' : {u'name' : 'Romania', u'flag' : u'/++resource++country-flags/ro.gif'},
00225 u'ru' : {u'name' : 'Russian Federation', u'flag' : u'/++resource++country-flags/ru.gif'},
00226 u'rw' : {u'name' : 'Rwanda', u'flag' : u'/++resource++country-flags/rw.gif'},
00227 u'sa' : {u'name' : 'Saudi Arabia', u'flag' : u'/++resource++country-flags/sa.gif'},
00228 u'sb' : {u'name' : 'Solomon Islands', u'flag' : u'/++resource++country-flags/sb.gif'},
00229 u'sc' : {u'name' : 'Seychelles', u'flag' : u'/++resource++country-flags/sc.gif'},
00230 u'sd' : {u'name' : 'Sudan', u'flag' : u'/++resource++country-flags/sd.gif'},
00231 u'se' : {u'name' : 'Sweden', u'flag' : u'/++resource++country-flags/se.gif'},
00232 u'sg' : {u'name' : 'Singapore', u'flag' : u'/++resource++country-flags/sg.gif'},
00233 u'sh' : {u'name' : 'Saint Helena', u'flag' : u'/++resource++country-flags/sh.gif'},
00234 u'si' : {u'name' : 'Slovenia', u'flag' : u'/++resource++country-flags/si.gif'},
00235 u'sj' : {u'name' : 'Svalbard and Jan Mayen', u'flag' : u'/++resource++country-flags/sj.gif'},
00236 u'sk' : {u'name' : 'Slovakia', u'flag' : u'/++resource++country-flags/sk.gif'},
00237 u'sl' : {u'name' : 'Sierra Leone', u'flag' : u'/++resource++country-flags/sl.gif'},
00238 u'sm' : {u'name' : 'San Marino', u'flag' : u'/++resource++country-flags/sm.gif'},
00239 u'sn' : {u'name' : 'Senegal', u'flag' : u'/++resource++country-flags/sn.gif'},
00240 u'so' : {u'name' : 'Somalia', u'flag' : u'/++resource++country-flags/so.gif'},
00241 u'sr' : {u'name' : 'Suriname', u'flag' : u'/++resource++country-flags/sr.gif'},
00242 u'st' : {u'name' : 'Sao Tome and Principe', u'flag' : u'/++resource++country-flags/st.gif'},
00243 u'sv' : {u'name' : 'El Salvador', u'flag' : u'/++resource++country-flags/sv.gif'},
00244 u'sy' : {u'name' : 'Syrian Arab Republic', u'flag' : u'/++resource++country-flags/sy.gif'},
00245 u'sz' : {u'name' : 'Swaziland', u'flag' : u'/++resource++country-flags/sz.gif'},
00246 u'tc' : {u'name' : 'Turks and Caicos Islands', u'flag' : u'/++resource++country-flags/tc.gif'},
00247 u'td' : {u'name' : 'Chad', u'flag' : u'/++resource++country-flags/td.gif'},
00248 u'tf' : {u'name' : 'French Southern Territories', u'flag' : u'/++resource++country-flags/tf.gif'},
00249 u'tg' : {u'name' : 'Togo', u'flag' : u'/++resource++country-flags/tg.gif'},
00250 u'th' : {u'name' : 'Thailand', u'flag' : u'/++resource++country-flags/th.gif'},
00251 u'tj' : {u'name' : 'Tajikistan', u'flag' : u'/++resource++country-flags/tj.gif'},
00252 u'tk' : {u'name' : 'Tokelau', u'flag' : u'/++resource++country-flags/tk.gif'},
00253 u'tl' : {u'name' : 'Timor-Leste', u'flag' : u'/++resource++country-flags/tl.gif'},
00254 u'tm' : {u'name' : 'Turkmenistan', u'flag' : u'/++resource++country-flags/tm.gif'},
00255 u'tn' : {u'name' : 'Tunisia', u'flag' : u'/++resource++country-flags/tn.gif'},
00256 u'to' : {u'name' : 'Tonga', u'flag' : u'/++resource++country-flags/to.gif'},
00257 u'tr' : {u'name' : 'Turkey', u'flag' : u'/++resource++country-flags/tr.gif'},
00258 u'tt' : {u'name' : 'Trinidad and Tobago', u'flag' : u'/++resource++country-flags/tt.gif'},
00259 u'tv' : {u'name' : 'Tuvalu', u'flag' : u'/++resource++country-flags/tv.gif'},
00260 u'tw' : {u'name' : 'Taiwan', u'flag' : u'/++resource++country-flags/tw.gif'},
00261 u'tz' : {u'name' : 'Tanzania United Republic of', u'flag' : u'/++resource++country-flags/tz.gif'},
00262 u'ua' : {u'name' : 'Ukraine', u'flag' : u'/++resource++country-flags/ua.gif'},
00263 u'ug' : {u'name' : 'Uganda', u'flag' : u'/++resource++country-flags/ug.gif'},
00264 u'um' : {u'name' : 'United States Minor Outlying Islands', u'flag' : u'/++resource++country-flags/um.gif'},
00265 u'us' : {u'name' : 'United States', u'flag' : u'/++resource++country-flags/us.gif'},
00266 u'uy' : {u'name' : 'Uruguay', u'flag' : u'/++resource++country-flags/uy.gif'},
00267 u'uz' : {u'name' : 'Uzbekistan', u'flag' : u'/++resource++country-flags/uz.gif'},
00268 u'va' : {u'name' : 'Holy See (Vatican City State)', u'flag' : u'/++resource++country-flags/va.gif'},
00269 u'vc' : {u'name' : 'Saint Vincent and the Grenadines', u'flag' : u'/++resource++country-flags/vc.gif'},
00270 u've' : {u'name' : 'Venezuela', u'flag' : u'/++resource++country-flags/ve.gif'},
00271 u'vg' : {u'name' : 'Virgin Islands British', u'flag' : u'/++resource++country-flags/vg.gif'},
00272 u'vi' : {u'name' : 'Virgin Islands U.S.', u'flag' : u'/++resource++country-flags/vi.gif'},
00273 u'vn' : {u'name' : 'Viet Nam', u'flag' : u'/++resource++country-flags/vn.gif'},
00274 u'vu' : {u'name' : 'Vanuatu', u'flag' : u'/++resource++country-flags/vu.gif'},
00275 u'wf' : {u'name' : 'Wallis and Futuna', u'flag' : u'/++resource++country-flags/wf.gif'},
00276 u'ws' : {u'name' : 'Samoa', u'flag' : u'/++resource++country-flags/ws.gif'},
00277 u'ye' : {u'name' : 'Yemen', u'flag' : u'/++resource++country-flags/ye.gif'},
00278 u'yt' : {u'name' : 'Mayotte', u'flag' : u'/++resource++country-flags/yt.gif'},
00279 u'za' : {u'name' : 'South Africa', u'flag' : u'/++resource++country-flags/za.gif'},
00280 u'zm' : {u'name' : 'Zambia', u'flag' : u'/++resource++country-flags/zm.gif'},
00281 u'zw' : {u'name' : 'Zimbabwe', u'flag' : u'/++resource++country-flags/zw.gif'}
00282 }
00283 
00284 # convert the utf-8 encoded values to unicode
00285 for code in _countrylist:
00286     value = _countrylist[code]
00287     if u'name' in value:
00288         value[u'name'] = unicode(value[u'name'], 'utf-8')