[utils] Add ISO3166Utils
This commit is contained in:
		@@ -2084,6 +2084,266 @@ class ISO639Utils(object):
 | 
			
		||||
                return short_name
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class ISO3166Utils(object):
 | 
			
		||||
    # From http://data.okfn.org/data/core/country-list
 | 
			
		||||
    _country_map = {
 | 
			
		||||
        'AF': 'Afghanistan',
 | 
			
		||||
        'AX': 'Åland Islands',
 | 
			
		||||
        'AL': 'Albania',
 | 
			
		||||
        'DZ': 'Algeria',
 | 
			
		||||
        'AS': 'American Samoa',
 | 
			
		||||
        'AD': 'Andorra',
 | 
			
		||||
        'AO': 'Angola',
 | 
			
		||||
        'AI': 'Anguilla',
 | 
			
		||||
        'AQ': 'Antarctica',
 | 
			
		||||
        'AG': 'Antigua and Barbuda',
 | 
			
		||||
        'AR': 'Argentina',
 | 
			
		||||
        'AM': 'Armenia',
 | 
			
		||||
        'AW': 'Aruba',
 | 
			
		||||
        'AU': 'Australia',
 | 
			
		||||
        'AT': 'Austria',
 | 
			
		||||
        'AZ': 'Azerbaijan',
 | 
			
		||||
        'BS': 'Bahamas',
 | 
			
		||||
        'BH': 'Bahrain',
 | 
			
		||||
        'BD': 'Bangladesh',
 | 
			
		||||
        'BB': 'Barbados',
 | 
			
		||||
        'BY': 'Belarus',
 | 
			
		||||
        'BE': 'Belgium',
 | 
			
		||||
        'BZ': 'Belize',
 | 
			
		||||
        'BJ': 'Benin',
 | 
			
		||||
        'BM': 'Bermuda',
 | 
			
		||||
        'BT': 'Bhutan',
 | 
			
		||||
        'BO': 'Bolivia, Plurinational State of',
 | 
			
		||||
        'BQ': 'Bonaire, Sint Eustatius and Saba',
 | 
			
		||||
        'BA': 'Bosnia and Herzegovina',
 | 
			
		||||
        'BW': 'Botswana',
 | 
			
		||||
        'BV': 'Bouvet Island',
 | 
			
		||||
        'BR': 'Brazil',
 | 
			
		||||
        'IO': 'British Indian Ocean Territory',
 | 
			
		||||
        'BN': 'Brunei Darussalam',
 | 
			
		||||
        'BG': 'Bulgaria',
 | 
			
		||||
        'BF': 'Burkina Faso',
 | 
			
		||||
        'BI': 'Burundi',
 | 
			
		||||
        'KH': 'Cambodia',
 | 
			
		||||
        'CM': 'Cameroon',
 | 
			
		||||
        'CA': 'Canada',
 | 
			
		||||
        'CV': 'Cape Verde',
 | 
			
		||||
        'KY': 'Cayman Islands',
 | 
			
		||||
        'CF': 'Central African Republic',
 | 
			
		||||
        'TD': 'Chad',
 | 
			
		||||
        'CL': 'Chile',
 | 
			
		||||
        'CN': 'China',
 | 
			
		||||
        'CX': 'Christmas Island',
 | 
			
		||||
        'CC': 'Cocos (Keeling) Islands',
 | 
			
		||||
        'CO': 'Colombia',
 | 
			
		||||
        'KM': 'Comoros',
 | 
			
		||||
        'CG': 'Congo',
 | 
			
		||||
        'CD': 'Congo, the Democratic Republic of the',
 | 
			
		||||
        'CK': 'Cook Islands',
 | 
			
		||||
        'CR': 'Costa Rica',
 | 
			
		||||
        'CI': 'Côte d\'Ivoire',
 | 
			
		||||
        'HR': 'Croatia',
 | 
			
		||||
        'CU': 'Cuba',
 | 
			
		||||
        'CW': 'Curaçao',
 | 
			
		||||
        'CY': 'Cyprus',
 | 
			
		||||
        'CZ': 'Czech Republic',
 | 
			
		||||
        'DK': 'Denmark',
 | 
			
		||||
        'DJ': 'Djibouti',
 | 
			
		||||
        'DM': 'Dominica',
 | 
			
		||||
        'DO': 'Dominican Republic',
 | 
			
		||||
        'EC': 'Ecuador',
 | 
			
		||||
        'EG': 'Egypt',
 | 
			
		||||
        'SV': 'El Salvador',
 | 
			
		||||
        'GQ': 'Equatorial Guinea',
 | 
			
		||||
        'ER': 'Eritrea',
 | 
			
		||||
        'EE': 'Estonia',
 | 
			
		||||
        'ET': 'Ethiopia',
 | 
			
		||||
        'FK': 'Falkland Islands (Malvinas)',
 | 
			
		||||
        'FO': 'Faroe Islands',
 | 
			
		||||
        'FJ': 'Fiji',
 | 
			
		||||
        'FI': 'Finland',
 | 
			
		||||
        'FR': 'France',
 | 
			
		||||
        'GF': 'French Guiana',
 | 
			
		||||
        'PF': 'French Polynesia',
 | 
			
		||||
        'TF': 'French Southern Territories',
 | 
			
		||||
        'GA': 'Gabon',
 | 
			
		||||
        'GM': 'Gambia',
 | 
			
		||||
        'GE': 'Georgia',
 | 
			
		||||
        'DE': 'Germany',
 | 
			
		||||
        'GH': 'Ghana',
 | 
			
		||||
        'GI': 'Gibraltar',
 | 
			
		||||
        'GR': 'Greece',
 | 
			
		||||
        'GL': 'Greenland',
 | 
			
		||||
        'GD': 'Grenada',
 | 
			
		||||
        'GP': 'Guadeloupe',
 | 
			
		||||
        'GU': 'Guam',
 | 
			
		||||
        'GT': 'Guatemala',
 | 
			
		||||
        'GG': 'Guernsey',
 | 
			
		||||
        'GN': 'Guinea',
 | 
			
		||||
        'GW': 'Guinea-Bissau',
 | 
			
		||||
        'GY': 'Guyana',
 | 
			
		||||
        'HT': 'Haiti',
 | 
			
		||||
        'HM': 'Heard Island and McDonald Islands',
 | 
			
		||||
        'VA': 'Holy See (Vatican City State)',
 | 
			
		||||
        'HN': 'Honduras',
 | 
			
		||||
        'HK': 'Hong Kong',
 | 
			
		||||
        'HU': 'Hungary',
 | 
			
		||||
        'IS': 'Iceland',
 | 
			
		||||
        'IN': 'India',
 | 
			
		||||
        'ID': 'Indonesia',
 | 
			
		||||
        'IR': 'Iran, Islamic Republic of',
 | 
			
		||||
        'IQ': 'Iraq',
 | 
			
		||||
        'IE': 'Ireland',
 | 
			
		||||
        'IM': 'Isle of Man',
 | 
			
		||||
        'IL': 'Israel',
 | 
			
		||||
        'IT': 'Italy',
 | 
			
		||||
        'JM': 'Jamaica',
 | 
			
		||||
        'JP': 'Japan',
 | 
			
		||||
        'JE': 'Jersey',
 | 
			
		||||
        'JO': 'Jordan',
 | 
			
		||||
        'KZ': 'Kazakhstan',
 | 
			
		||||
        'KE': 'Kenya',
 | 
			
		||||
        'KI': 'Kiribati',
 | 
			
		||||
        'KP': 'Korea, Democratic People\'s Republic of',
 | 
			
		||||
        'KR': 'Korea, Republic of',
 | 
			
		||||
        'KW': 'Kuwait',
 | 
			
		||||
        'KG': 'Kyrgyzstan',
 | 
			
		||||
        'LA': 'Lao People\'s Democratic Republic',
 | 
			
		||||
        'LV': 'Latvia',
 | 
			
		||||
        'LB': 'Lebanon',
 | 
			
		||||
        'LS': 'Lesotho',
 | 
			
		||||
        'LR': 'Liberia',
 | 
			
		||||
        'LY': 'Libya',
 | 
			
		||||
        'LI': 'Liechtenstein',
 | 
			
		||||
        'LT': 'Lithuania',
 | 
			
		||||
        'LU': 'Luxembourg',
 | 
			
		||||
        'MO': 'Macao',
 | 
			
		||||
        'MK': 'Macedonia, the Former Yugoslav Republic of',
 | 
			
		||||
        'MG': 'Madagascar',
 | 
			
		||||
        'MW': 'Malawi',
 | 
			
		||||
        'MY': 'Malaysia',
 | 
			
		||||
        'MV': 'Maldives',
 | 
			
		||||
        'ML': 'Mali',
 | 
			
		||||
        'MT': 'Malta',
 | 
			
		||||
        'MH': 'Marshall Islands',
 | 
			
		||||
        'MQ': 'Martinique',
 | 
			
		||||
        'MR': 'Mauritania',
 | 
			
		||||
        'MU': 'Mauritius',
 | 
			
		||||
        'YT': 'Mayotte',
 | 
			
		||||
        'MX': 'Mexico',
 | 
			
		||||
        'FM': 'Micronesia, Federated States of',
 | 
			
		||||
        'MD': 'Moldova, Republic of',
 | 
			
		||||
        'MC': 'Monaco',
 | 
			
		||||
        'MN': 'Mongolia',
 | 
			
		||||
        'ME': 'Montenegro',
 | 
			
		||||
        'MS': 'Montserrat',
 | 
			
		||||
        'MA': 'Morocco',
 | 
			
		||||
        'MZ': 'Mozambique',
 | 
			
		||||
        'MM': 'Myanmar',
 | 
			
		||||
        'NA': 'Namibia',
 | 
			
		||||
        'NR': 'Nauru',
 | 
			
		||||
        'NP': 'Nepal',
 | 
			
		||||
        'NL': 'Netherlands',
 | 
			
		||||
        'NC': 'New Caledonia',
 | 
			
		||||
        'NZ': 'New Zealand',
 | 
			
		||||
        'NI': 'Nicaragua',
 | 
			
		||||
        'NE': 'Niger',
 | 
			
		||||
        'NG': 'Nigeria',
 | 
			
		||||
        'NU': 'Niue',
 | 
			
		||||
        'NF': 'Norfolk Island',
 | 
			
		||||
        'MP': 'Northern Mariana Islands',
 | 
			
		||||
        'NO': 'Norway',
 | 
			
		||||
        'OM': 'Oman',
 | 
			
		||||
        'PK': 'Pakistan',
 | 
			
		||||
        'PW': 'Palau',
 | 
			
		||||
        'PS': 'Palestine, State of',
 | 
			
		||||
        'PA': 'Panama',
 | 
			
		||||
        'PG': 'Papua New Guinea',
 | 
			
		||||
        'PY': 'Paraguay',
 | 
			
		||||
        'PE': 'Peru',
 | 
			
		||||
        'PH': 'Philippines',
 | 
			
		||||
        'PN': 'Pitcairn',
 | 
			
		||||
        'PL': 'Poland',
 | 
			
		||||
        'PT': 'Portugal',
 | 
			
		||||
        'PR': 'Puerto Rico',
 | 
			
		||||
        'QA': 'Qatar',
 | 
			
		||||
        'RE': 'Réunion',
 | 
			
		||||
        'RO': 'Romania',
 | 
			
		||||
        'RU': 'Russian Federation',
 | 
			
		||||
        'RW': 'Rwanda',
 | 
			
		||||
        'BL': 'Saint Barthélemy',
 | 
			
		||||
        'SH': 'Saint Helena, Ascension and Tristan da Cunha',
 | 
			
		||||
        'KN': 'Saint Kitts and Nevis',
 | 
			
		||||
        'LC': 'Saint Lucia',
 | 
			
		||||
        'MF': 'Saint Martin (French part)',
 | 
			
		||||
        'PM': 'Saint Pierre and Miquelon',
 | 
			
		||||
        'VC': 'Saint Vincent and the Grenadines',
 | 
			
		||||
        'WS': 'Samoa',
 | 
			
		||||
        'SM': 'San Marino',
 | 
			
		||||
        'ST': 'Sao Tome and Principe',
 | 
			
		||||
        'SA': 'Saudi Arabia',
 | 
			
		||||
        'SN': 'Senegal',
 | 
			
		||||
        'RS': 'Serbia',
 | 
			
		||||
        'SC': 'Seychelles',
 | 
			
		||||
        'SL': 'Sierra Leone',
 | 
			
		||||
        'SG': 'Singapore',
 | 
			
		||||
        'SX': 'Sint Maarten (Dutch part)',
 | 
			
		||||
        'SK': 'Slovakia',
 | 
			
		||||
        'SI': 'Slovenia',
 | 
			
		||||
        'SB': 'Solomon Islands',
 | 
			
		||||
        'SO': 'Somalia',
 | 
			
		||||
        'ZA': 'South Africa',
 | 
			
		||||
        'GS': 'South Georgia and the South Sandwich Islands',
 | 
			
		||||
        'SS': 'South Sudan',
 | 
			
		||||
        'ES': 'Spain',
 | 
			
		||||
        'LK': 'Sri Lanka',
 | 
			
		||||
        'SD': 'Sudan',
 | 
			
		||||
        'SR': 'Suriname',
 | 
			
		||||
        'SJ': 'Svalbard and Jan Mayen',
 | 
			
		||||
        'SZ': 'Swaziland',
 | 
			
		||||
        'SE': 'Sweden',
 | 
			
		||||
        'CH': 'Switzerland',
 | 
			
		||||
        'SY': 'Syrian Arab Republic',
 | 
			
		||||
        'TW': 'Taiwan, Province of China',
 | 
			
		||||
        'TJ': 'Tajikistan',
 | 
			
		||||
        'TZ': 'Tanzania, United Republic of',
 | 
			
		||||
        'TH': 'Thailand',
 | 
			
		||||
        'TL': 'Timor-Leste',
 | 
			
		||||
        'TG': 'Togo',
 | 
			
		||||
        'TK': 'Tokelau',
 | 
			
		||||
        'TO': 'Tonga',
 | 
			
		||||
        'TT': 'Trinidad and Tobago',
 | 
			
		||||
        'TN': 'Tunisia',
 | 
			
		||||
        'TR': 'Turkey',
 | 
			
		||||
        'TM': 'Turkmenistan',
 | 
			
		||||
        'TC': 'Turks and Caicos Islands',
 | 
			
		||||
        'TV': 'Tuvalu',
 | 
			
		||||
        'UG': 'Uganda',
 | 
			
		||||
        'UA': 'Ukraine',
 | 
			
		||||
        'AE': 'United Arab Emirates',
 | 
			
		||||
        'GB': 'United Kingdom',
 | 
			
		||||
        'US': 'United States',
 | 
			
		||||
        'UM': 'United States Minor Outlying Islands',
 | 
			
		||||
        'UY': 'Uruguay',
 | 
			
		||||
        'UZ': 'Uzbekistan',
 | 
			
		||||
        'VU': 'Vanuatu',
 | 
			
		||||
        'VE': 'Venezuela, Bolivarian Republic of',
 | 
			
		||||
        'VN': 'Viet Nam',
 | 
			
		||||
        'VG': 'Virgin Islands, British',
 | 
			
		||||
        'VI': 'Virgin Islands, U.S.',
 | 
			
		||||
        'WF': 'Wallis and Futuna',
 | 
			
		||||
        'EH': 'Western Sahara',
 | 
			
		||||
        'YE': 'Yemen',
 | 
			
		||||
        'ZM': 'Zambia',
 | 
			
		||||
        'ZW': 'Zimbabwe',
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @classmethod
 | 
			
		||||
    def short2full(cls, code):
 | 
			
		||||
        """Convert an ISO 3166-2 country code to the corresponding full name"""
 | 
			
		||||
        return cls._country_map.get(code.upper())
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class PerRequestProxyHandler(compat_urllib_request.ProxyHandler):
 | 
			
		||||
    def __init__(self, proxies=None):
 | 
			
		||||
        # Set default handlers
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user