Skip to content

Instantly share code, notes, and snippets.

@mudongliang
Last active March 7, 2024 00:59
Show Gist options
  • Save mudongliang/e4dbd960678502ce981dfd8f79e19e67 to your computer and use it in GitHub Desktop.
Save mudongliang/e4dbd960678502ce981dfd8f79e19e67 to your computer and use it in GitHub Desktop.
# -*- coding: utf-8 -*-
from pycountry import countries
from collections import OrderedDict
COUNTRIES_LIST = [
("AF", "Afghanistan"),
("AX", "Åland Islands"),
("AL", "Albania"),
("DZ", "Algeria"),
("AS", "American Samoa"),
("AD", "Andorra"),
("AO", "Angola"),
("AI", "Anguilla"),
("AQ", "Antarctica"),
("AG", "Antigua & Barbuda"),
("AR", "Argentina"),
("AM", "Armenia"),
("AW", "Aruba"),
("AC", "Ascension Island"),
("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"),
("BA", "Bosnia & Herzegovina"),
("BW", "Botswana"),
("BR", "Brazil"),
("IO", "British Indian Ocean Territory"),
("VG", "British Virgin Islands"),
("BN", "Brunei"),
("BG", "Bulgaria"),
("BF", "Burkina Faso"),
("BI", "Burundi"),
("KH", "Cambodia"),
("CM", "Cameroon"),
("CA", "Canada"),
("IC", "Canary Islands"),
("CV", "Cape Verde"),
("BQ", "Caribbean Netherlands"),
("KY", "Cayman Islands"),
("CF", "Central African Republic"),
("EA", "Ceuta & Melilla"),
("TD", "Chad"),
("CL", "Chile"),
("CN", "China"),
("CX", "Christmas Island"),
("CC", "Cocos (Keeling) Islands"),
("CO", "Colombia"),
("KM", "Comoros"),
("CG", "Congo - Brazzaville"),
("CD", "Congo - Kinshasa"),
("CK", "Cook Islands"),
("CR", "Costa Rica"),
("CI", "Côte d’Ivoire"),
("HR", "Croatia"),
("CU", "Cuba"),
("CW", "Curaçao"),
("CY", "Cyprus"),
("CZ", "Czechia"),
("DK", "Denmark"),
("DG", "Diego Garcia"),
("DJ", "Djibouti"),
("DM", "Dominica"),
("DO", "Dominican Republic"),
("EC", "Ecuador"),
("EG", "Egypt"),
("SV", "El Salvador"),
("GQ", "Equatorial Guinea"),
("ER", "Eritrea"),
("EE", "Estonia"),
("ET", "Ethiopia"),
("EZ", "Eurozone"),
("FK", "Falkland Islands"),
("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"),
("HN", "Honduras"),
("HK", "Hong Kong SAR China"),
("HU", "Hungary"),
("IS", "Iceland"),
("IN", "India"),
("ID", "Indonesia"),
("IR", "Iran"),
("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"),
("XK", "Kosovo"),
("KW", "Kuwait"),
("KG", "Kyrgyzstan"),
("LA", "Laos"),
("LV", "Latvia"),
("LB", "Lebanon"),
("LS", "Lesotho"),
("LR", "Liberia"),
("LY", "Libya"),
("LI", "Liechtenstein"),
("LT", "Lithuania"),
("LU", "Luxembourg"),
("MO", "Macau SAR China"),
("MK", "Macedonia"),
("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"),
("MD", "Moldova"),
("MC", "Monaco"),
("MN", "Mongolia"),
("ME", "Montenegro"),
("MS", "Montserrat"),
("MA", "Morocco"),
("MZ", "Mozambique"),
("MM", "Myanmar (Burma)"),
("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"),
("KP", "North Korea"),
("MP", "Northern Mariana Islands"),
("NO", "Norway"),
("OM", "Oman"),
("PK", "Pakistan"),
("PW", "Palau"),
("PS", "Palestinian Territories"),
("PA", "Panama"),
("PG", "Papua New Guinea"),
("PY", "Paraguay"),
("PE", "Peru"),
("PH", "Philippines"),
("PN", "Pitcairn Islands"),
("PL", "Poland"),
("PT", "Portugal"),
("PR", "Puerto Rico"),
("QA", "Qatar"),
("RE", "Réunion"),
("RO", "Romania"),
("RU", "Russia"),
("RW", "Rwanda"),
("WS", "Samoa"),
("SM", "San Marino"),
("ST", "São Tomé & Príncipe"),
("SA", "Saudi Arabia"),
("SN", "Senegal"),
("RS", "Serbia"),
("SC", "Seychelles"),
("SL", "Sierra Leone"),
("SG", "Singapore"),
("SX", "Sint Maarten"),
("SK", "Slovakia"),
("SI", "Slovenia"),
("SB", "Solomon Islands"),
("SO", "Somalia"),
("ZA", "South Africa"),
("GS", "South Georgia & South Sandwich Islands"),
("KR", "South Korea"),
("SS", "South Sudan"),
("ES", "Spain"),
("LK", "Sri Lanka"),
("BL", "St. Barthélemy"),
("SH", "St. Helena"),
("KN", "St. Kitts & Nevis"),
("LC", "St. Lucia"),
("MF", "St. Martin"),
("PM", "St. Pierre & Miquelon"),
("VC", "St. Vincent & Grenadines"),
("SD", "Sudan"),
("SR", "Suriname"),
("SJ", "Svalbard & Jan Mayen"),
("SZ", "Swaziland"),
("SE", "Sweden"),
("CH", "Switzerland"),
("SY", "Syria"),
("TW", "Taiwan"),
("TJ", "Tajikistan"),
("TZ", "Tanzania"),
("TH", "Thailand"),
("TL", "Timor-Leste"),
("TG", "Togo"),
("TK", "Tokelau"),
("TO", "Tonga"),
("TT", "Trinidad & Tobago"),
("TA", "Tristan da Cunha"),
("TN", "Tunisia"),
("TR", "Turkey"),
("TM", "Turkmenistan"),
("TC", "Turks & Caicos Islands"),
("TV", "Tuvalu"),
("UM", "U.S. Outlying Islands"),
("VI", "U.S. Virgin Islands"),
("UG", "Uganda"),
("UA", "Ukraine"),
("AE", "United Arab Emirates"),
("GB", "United Kingdom"),
("US", "United States"),
("UY", "Uruguay"),
("UZ", "Uzbekistan"),
("VU", "Vanuatu"),
("VA", "Vatican City"),
("VE", "Venezuela"),
("VN", "Vietnam"),
("WF", "Wallis & Futuna"),
("EH", "Western Sahara"),
("YE", "Yemen"),
("ZM", "Zambia"),
("ZW", "Zimbabwe"),
]
for i, ct in enumerate(COUNTRIES_LIST):
one_ctr = countries.get(alpha_2=ct[0])
if (not one_ctr) :
print("No such alpha_2 name ", ct[0])
else:
if ct[1] != one_ctr.name:
print("\"{0}\" is different from \"{1}\"".format(ct[1], one_ctr.name))
@mudongliang
Copy link
Author

$ python test_CTFd_countries_utils.py | sort
"Antigua & Barbuda" is different from "Antigua and Barbuda"
"Bolivia" is different from "Bolivia, Plurinational State of"
"Bosnia & Herzegovina" is different from "Bosnia and Herzegovina"
"British Virgin Islands" is different from "Virgin Islands, British"
"Brunei" is different from "Brunei Darussalam"
"Cape Verde" is different from "Cabo Verde"
"Caribbean Netherlands" is different from "Bonaire, Sint Eustatius and Saba"
"Congo - Brazzaville" is different from "Congo"
"Congo - Kinshasa" is different from "Congo, The Democratic Republic of the"
"Côte d’Ivoire" is different from "Côte d'Ivoire"
"Falkland Islands" is different from "Falkland Islands (Malvinas)"
"Hong Kong SAR China" is different from "Hong Kong"
"Iran" is different from "Iran, Islamic Republic of"
"Laos" is different from "Lao People's Democratic Republic"
"Macau SAR China" is different from "Macao"
"Macedonia" is different from "North Macedonia"
"Micronesia" is different from "Micronesia, Federated States of"
"Moldova" is different from "Moldova, Republic of"
"Myanmar (Burma)" is different from "Myanmar"
"North Korea" is different from "Korea, Democratic People's Republic of"
"Palestinian Territories" is different from "Palestine, State of"
"Pitcairn Islands" is different from "Pitcairn"
"Russia" is different from "Russian Federation"
"Sint Maarten" is different from "Sint Maarten (Dutch part)"
"South Georgia & South Sandwich Islands" is different from "South Georgia and the South Sandwich Islands"
"South Korea" is different from "Korea, Republic of"
"St. Barthélemy" is different from "Saint Barthélemy"
"St. Helena" is different from "Saint Helena, Ascension and Tristan da Cunha"
"St. Kitts & Nevis" is different from "Saint Kitts and Nevis"
"St. Lucia" is different from "Saint Lucia"
"St. Martin" is different from "Saint Martin (French part)"
"St. Pierre & Miquelon" is different from "Saint Pierre and Miquelon"
"St. Vincent & Grenadines" is different from "Saint Vincent and the Grenadines"
"Svalbard & Jan Mayen" is different from "Svalbard and Jan Mayen"
"Swaziland" is different from "Eswatini"
"Syria" is different from "Syrian Arab Republic"
"São Tomé & Príncipe" is different from "Sao Tome and Principe"
"Taiwan" is different from "Taiwan, Province of China"
"Tanzania" is different from "Tanzania, United Republic of"
"Trinidad & Tobago" is different from "Trinidad and Tobago"
"Turkey" is different from "Türkiye"
"Turks & Caicos Islands" is different from "Turks and Caicos Islands"
"U.S. Outlying Islands" is different from "United States Minor Outlying Islands"
"U.S. Virgin Islands" is different from "Virgin Islands, U.S."
"Vatican City" is different from "Holy See (Vatican City State)"
"Venezuela" is different from "Venezuela, Bolivarian Republic of"
"Vietnam" is different from "Viet Nam"
"Wallis & Futuna" is different from "Wallis and Futuna"
No such alpha_2 name  AC
No such alpha_2 name  DG
No such alpha_2 name  EA
No such alpha_2 name  EZ
No such alpha_2 name  IC
No such alpha_2 name  TA
No such alpha_2 name  XK

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment