| # Copyright 2013 the Melange authors. |
| # |
| # Licensed under the Apache License, Version 2.0 (the 'License'); |
| # you may not use this file except in compliance with the License. |
| # You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an 'AS IS' BASIS, |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| # See the License for the specific language governing permissions and |
| # limitations under the License. |
| |
| """Module containing data on currently known countries and territories. |
| |
| Legacy (duplicate) names for some countries have been removed from the |
| original list. Also missing are the following US OFAC embargoed and |
| Commerce Department export-controlled countries: |
| |
| Cuba, Iran, Myanmar (formerly Burma), North Korea, Sudan, Syria |
| """ |
| |
| |
| COUNTRY_INFO = { |
| 'Afghanistan, Islamic State of': ('.af', 'Asia'), |
| 'Albania': ('.al', 'Europe'), |
| 'Algeria': ('.dz', 'Africa'), |
| 'American Samoa': ('.as', 'Australia'), |
| 'Andorra, Principality of': ('.ad', 'Europe'), |
| 'Angola': ('.ao', 'Africa'), |
| 'Anguilla': ('.ai', 'North America'), |
| 'Antarctica': ('.aq', 'Europe'), |
| 'Antigua and Barbuda': ('.ag', 'North America'), |
| 'Argentina': ('.ar', 'South America'), |
| 'Armenia': ('.am', 'Asia'), |
| 'Aruba': ('.aw', 'North America'), |
| 'Australia': ('.au', 'Australia'), |
| 'Austria': ('.at', 'Europe'), |
| 'Azerbaidjan': ('.az', 'Asia'), |
| 'Bahamas': ('.bs', 'North America'), |
| 'Bahrain': ('.bh', 'Asia'), |
| 'Bangladesh': ('.bd', 'Asia'), |
| 'Barbados': ('.bb', 'North America'), |
| 'Belarus': ('.by', 'Europe'), |
| 'Belgium': ('.be', 'Europe'), |
| 'Belize': ('.bz', 'North America'), |
| 'Benin': ('.bj', 'Africa'), |
| 'Bermuda': ('.bm', 'North America'), |
| 'Bhutan': ('.bt', 'Asia'), |
| 'Bolivia': ('.bo', 'South America'), |
| 'Bosnia and Herzegovina': ('.ba', 'Europe'), |
| 'Botswana': ('.bw', 'Africa'), |
| 'Bouvet Island': ('.bv', 'Europe'), |
| 'Brazil': ('.br', 'South America'), |
| 'British Indian Ocean Territory': ('.io', 'Asia'), |
| 'Brunei Darussalam': ('.bn', 'Asia'), |
| 'Bulgaria': ('', 'Europe'), |
| 'Burkina Faso': ('.bg', 'Africa'), |
| 'Burundi': ('.bi', 'Africa'), |
| 'Cambodia': ('.kh', 'Asia'), |
| 'Cameroon': ('.cm', 'Africa'), |
| 'Canada': ('.ca', 'North America'), |
| 'Cape Verde': ('.cv', 'Africa'), |
| 'Cayman Islands': ('.ky', 'North America'), |
| 'Central African Republic': ('.cf', 'Africa'), |
| 'Chad': ('.td', 'Africa'), |
| 'Chile': ('.cl', 'South America'), |
| 'China': ('.cn', 'Asia'), |
| 'Christmas Island': ('.cx', 'Australia'), |
| 'Cocos (Keeling) Islands': ('.cc', 'Australia'), |
| 'Colombia': ('.co', 'South America'), |
| 'Comoros': ('.km', 'Africa'), |
| 'Congo': ('.cg', 'Africa'), |
| 'Congo, Democratic Republic of the': ('.cd', 'Africa'), |
| 'Cook Islands': ('.ck', 'Australia'), |
| 'Costa Rica': ('.cr', 'North America'), |
| 'Croatia': ('.hr', 'Europe'), |
| 'Cyprus': ('.cy', 'Asia'), |
| 'Czech Republic': ('.cz', 'Europe'), |
| 'Denmark': ('.dk', 'Europe'), |
| 'Djibouti': ('.dj', 'Africa'), |
| 'Dominica': ('.dm', 'North America'), |
| 'Dominican Republic': ('.do', 'North America'), |
| 'East Timor': ('.tl', 'Asia'), |
| 'Ecuador': ('.ec', 'South America'), |
| 'Egypt': ('.eg', 'Africa'), |
| 'El Salvador': ('.sv', 'North America'), |
| 'Equatorial Guinea': ('.gq', 'Africa'), |
| 'Eritrea': ('.er', 'Africa'), |
| 'Estonia': ('.ee', 'Europe'), |
| 'Ethiopia': ('.et', 'Africa'), |
| 'Falkland Islands': ('.fk', 'South America'), |
| 'Faroe Islands': ('.fo', 'Europe'), |
| 'Fiji': ('.fj', 'Australia'), |
| 'Finland': ('.fi', 'Europe'), |
| 'France': ('.fr', 'Europe'), |
| 'French Guyana': ('.gf', 'South America'), |
| 'French Southern Territories': ('.tf', 'Africa'), |
| 'French Polynesia': ('.pf', 'Australia'), |
| 'Gabon': ('.ga', 'Africa'), |
| 'Gambia': ('.gm', 'Africa'), |
| 'Georgia': ('.ge', 'Asia'), |
| 'Germany': ('.de', 'Europe'), |
| 'Ghana': ('.gh', 'Africa'), |
| 'Gibraltar': ('.gi', 'Europe'), |
| 'Greece': ('.gr', 'Europe'), |
| 'Greenland': ('.gl', 'North America'), |
| 'Grenada': ('.gd', 'North America'), |
| 'Guadeloupe (French)': ('.gp', 'North America'), |
| 'Guam (USA)': ('.gu', 'Australia'), |
| 'Guatemala': ('.gt', 'North America'), |
| 'Guinea': ('.gn', 'Africa'), |
| 'Guinea Bissau': ('.gw', 'Africa'), |
| 'Guyana': ('.gy', 'South America'), |
| 'Haiti': ('.ht', 'North America'), |
| 'Heard and McDonald Islands': ('.hm', 'Australia'), |
| 'Holy See (Vatican City State)': ('.va', 'Europe'), |
| 'Honduras': ('.hn', 'North America'), |
| 'Hong Kong': ('.hk', 'Asia'), |
| 'Hungary': ('.hu', 'Europe'), |
| 'Iceland': ('.is', 'Europe'), |
| 'India': ('.in', 'Asia'), |
| 'Indonesia': ('.id', 'Asia'), |
| 'Iraq': ('.iq', 'Asia'), |
| 'Ireland': ('.ie', 'Europe'), |
| 'Israel': ('.il', 'Asia'), |
| 'Italy': ('.it', 'Europe'), |
| 'Ivory Coast (Cote D\'Ivoire)': ('.ci', 'Africa'), |
| 'Jamaica': ('.jm', 'North America'), |
| 'Japan': ('.jp', 'Asia'), |
| 'Jordan': ('.jo', 'Asia'), |
| 'Kazakhstan': ('.kz', 'Asia'), |
| 'Kenya': ('.ke', 'Africa'), |
| 'Kiribati': ('.ki', 'Australia'), |
| 'Kuwait': ('.kw', 'Asia'), |
| 'Kyrgyzstan': ('.kg', 'Asia'), |
| 'Laos': ('.la', 'Asia'), |
| 'Latvia': ('.lv', 'Europe'), |
| 'Lebanon': ('.lb', 'Asia'), |
| 'Lesotho': ('.ls', 'Africa'), |
| 'Liberia': ('.lr', 'Africa'), |
| 'Libya': ('.ly', 'Africa'), |
| 'Liechtenstein': ('.li', 'Europe'), |
| 'Lithuania': ('.lt', 'Europe'), |
| 'Luxembourg': ('.lu', 'Europe'), |
| 'Macau': ('.mo', 'Asia'), |
| 'Macedonia': ('.mk', 'Europe'), |
| 'Madagascar': ('.mg', 'Africa'), |
| 'Malawi': ('.mw', 'Africa'), |
| 'Malaysia': ('.my', 'Asia'), |
| 'Maldives': ('.mv', 'Asia'), |
| 'Mali': ('.ml', 'Africa'), |
| 'Malta': ('.mt', 'Europe'), |
| 'Marshall Islands': ('.mh', 'Australia'), |
| 'Martinique (French)': ('.mq', 'North America'), |
| 'Mauritania': ('.mr', 'Africa'), |
| 'Mauritius': ('.mu', 'Africa'), |
| 'Mayotte': ('.yt', 'Africa'), |
| 'Mexico': ('.mx', 'North America'), |
| 'Micronesia': ('.fm', 'Australia'), |
| 'Moldavia': ('.md', 'Europe'), |
| 'Monaco': ('.mc', 'Europe'), |
| 'Mongolia': ('.mn', 'Asia'), |
| 'Montenegro': ('.me', 'Europe'), |
| 'Montserrat': ('.ms', 'North America'), |
| 'Morocco': ('.ma', 'Africa'), |
| 'Mozambique': ('.mz', 'Africa'), |
| 'Namibia': ('.na', 'Africa'), |
| 'Nauru': ('.nr', 'Australia'), |
| 'Nepal': ('.np', 'Asia'), |
| 'Netherlands': ('.nl', 'Europe'), |
| 'Netherlands Antilles': ('.an', 'North America'), |
| 'New Caledonia (French)': ('.nc', 'Australia'), |
| 'New Zealand': ('.nz', 'Australia'), |
| 'Nicaragua': ('.ni', 'North America'), |
| 'Niger': ('.ne', 'Africa'), |
| 'Nigeria': ('.ng', 'Africa'), |
| 'Niue': ('.nu', 'Australia'), |
| 'Northern Mariana Islands': ('.mp', 'Australia'), |
| 'Norway': ('.no', 'Europe'), |
| 'Oman': ('.om', 'Asia'), |
| 'Pakistan': ('.pk', 'Asia'), |
| 'Palau': ('.pw', 'Australia'), |
| 'Palestinian Territories': ('.ps', 'Asia'), |
| 'Panama': ('.pa', 'North America'), |
| 'Papua New Guinea': ('.pg', 'Australia'), |
| 'Paraguay': ('.py', 'South America'), |
| 'Peru': ('.pe', 'South America'), |
| 'Philippines': ('.ph', 'Asia'), |
| 'Pitcairn Island': ('.pn', 'South America'), |
| 'Poland': ('.pl', 'Europe'), |
| 'Portugal': ('.pt', 'Europe'), |
| 'Puerto Rico': ('.pr', 'North America'), |
| 'Qatar': ('.qa', 'Asia'), |
| 'Reunion (French)': ('.re', 'Africa'), |
| 'Romania': ('.ro', 'Europe'), |
| 'Russian Federation': ('.ru', 'Europe'), |
| 'Rwanda': ('.rw', 'Africa'), |
| 'South Georgia & South Sandwich Islands': ('.gs', 'South America'), |
| 'Saint Helena': ('.sh', 'Africa'), |
| 'Saint Kitts & Nevis Anguilla': ('.kn', 'North America'), |
| 'Saint Lucia': ('.lc', 'North America'), |
| 'Saint Pierre and Miquelon': ('.pm', 'North America'), |
| 'Saint Tome (Sao Tome) and Principe': ('.st', 'Africa'), |
| 'Saint Vincent & Grenadines': ('.vc', 'North America'), |
| 'Samoa': ('.ws', 'Australia'), |
| 'San Marino': ('.sm', 'Europe'), |
| 'Saudi Arabia': ('.sa', 'Asia'), |
| 'Senegal': ('.sn', 'Africa'), |
| 'Serbia': ('.rs', 'Europe'), |
| 'Seychelles': ('.sc', 'Africa'), |
| 'Sierra Leone': ('.sl', 'Africa'), |
| 'Singapore': ('.sg', 'Asia'), |
| 'Slovak Republic': ('.sk', 'Europe'), |
| 'Slovenia': ('.si', 'Europe'), |
| 'Solomon Islands': ('.sb', 'Australia'), |
| 'Somalia': ('.so', 'Africa'), |
| 'South Africa': ('.za', 'Africa'), |
| 'South Korea': ('.kr', 'Asia'), |
| 'Spain': ('.es', 'Europe'), |
| 'Sri Lanka': ('.lk', 'Asia'), |
| 'Suriname': ('.sr', 'South America'), |
| 'Svalbard and Jan Mayen Islands': ('.sj', 'Europe'), |
| 'Swaziland': ('.sz', 'Africa'), |
| 'Sweden': ('.se', 'Europe'), |
| 'Switzerland': ('.ch', 'Europe'), |
| 'Tadjikistan': ('.tj', 'Asia'), |
| 'Taiwan': ('.tw', 'Asia'), |
| 'Tanzania': ('.tz', 'Africa'), |
| 'Thailand': ('.th', 'Asia'), |
| 'Togo': ('.tg', 'Africa'), |
| 'Tokelau': ('.tk', 'Australia'), |
| 'Tonga': ('.to', 'Australia'), |
| 'Trinidad and Tobago': ('.tt', 'North America'), |
| 'Tunisia': ('.tn', 'Africa'), |
| 'Turkey': ('.tr', 'Asia'), |
| 'Turkmenistan': ('.tm', 'Asia'), |
| 'Turks and Caicos Islands': ('.tc', 'North America'), |
| 'Tuvalu': ('.tv', 'Australia'), |
| 'USA Minor Outlying Islands': ('.um', 'North America'), |
| 'Uganda': ('.ug', 'Africa'), |
| 'Ukraine': ('.ua', 'Europe'), |
| 'United Arab Emirates': ('.ae', 'Asia'), |
| 'United Kingdom': ('.uk', 'Europe'), |
| 'United States': ('.us', 'North America'), |
| 'Uruguay': ('.uy', 'South America'), |
| 'Uzbekistan': ('.uz', 'Asia'), |
| 'Vanuatu': ('.vu', 'Australia'), |
| 'Venezuela': ('.ve', 'South America'), |
| 'Vietnam': ('.vn', 'Asia'), |
| 'Virgin Islands (British)': ('.vg', 'North America'), |
| 'Virgin Islands (USA)': ('.vi', 'North America'), |
| 'Wallis and Futuna Islands': ('.wf', 'Australia'), |
| 'Western Sahara': ('.eh', 'Africa'), |
| 'Yemen': ('.ye', 'Asia'), |
| 'Zambia': ('.zm', 'Africa'), |
| 'Zimbabwe': ('.zw', 'Africa'), |
| } |
| |
| # List of all countries and territories |
| COUNTRIES_AND_TERRITORIES = sorted(COUNTRY_INFO.keys()) |
| |
| # Mapping of countries to their CCTLD |
| COUNTRIES_TO_CCTLD = dict((k, c) for k, (c, _) in COUNTRY_INFO.items()) |
| |
| # Mapping of countries to their continent |
| COUNTRIES_TO_CONTINENT = dict((k, c) for k, (_, c) in COUNTRY_INFO.items()) |