forked from pwncollege/dojo
-
Notifications
You must be signed in to change notification settings - Fork 29
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
a81d535
commit 2a3d170
Showing
2 changed files
with
290 additions
and
0 deletions.
There are no files selected for viewing
289 changes: 289 additions & 0 deletions
289
0001-use-pycountry-to-replace-self-generated-country-list.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,289 @@ | ||
From 5625e11322adac7561f2d355146875c3ea44e945 Mon Sep 17 00:00:00 2001 | ||
From: Dongliang Mu <[email protected]> | ||
Date: Wed, 6 Mar 2024 19:22:32 +0800 | ||
Subject: [PATCH] use pycountry to replace self-generated country list | ||
|
||
--- | ||
CTFd/utils/countries/__init__.py | 261 +------------------------------ | ||
1 file changed, 4 insertions(+), 257 deletions(-) | ||
|
||
diff --git a/CTFd/utils/countries/__init__.py b/CTFd/utils/countries/__init__.py | ||
index 83420ab..4f47aec 100644 | ||
--- a/CTFd/utils/countries/__init__.py | ||
+++ b/CTFd/utils/countries/__init__.py | ||
@@ -1,263 +1,9 @@ | ||
# -*- coding: utf-8 -*- | ||
|
||
from collections import OrderedDict | ||
+from pycountry import countries | ||
|
||
-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"), | ||
-] | ||
+COUNTRIES_LIST = [(one_ctr.alpha_2, one_ctr.name) for one_ctr in countries] | ||
|
||
# Nicely titled (and translatable) country names. | ||
COUNTRIES_DICT = OrderedDict(COUNTRIES_LIST) | ||
@@ -272,4 +18,5 @@ def get_countries(): | ||
|
||
|
||
def lookup_country_code(country_code): | ||
- return COUNTRIES_DICT.get(country_code) | ||
+ one_ctr = countries.get(alpha_2=country_code) | ||
+ return one_ctr.name | ||
-- | ||
2.25.1 | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters