diff --git a/README.md b/README.md index 72f4aa4..5c3cbe7 100644 --- a/README.md +++ b/README.md @@ -240,20 +240,61 @@ You can add custom headers or modify default headers by setting the `headers` ke ### Internationalization -When looking up an IP address, the response object includes `details.country_name`, `details.isEU`, `details.country_flag`, `details.country_flag_url` and `details.country_currency` attributes which includes the country based on American English. It is possible to return the country name in other languages by setting the `countries_file`, remove or add EU countries by setting the keyword argument `eu_countries_file`, change the country flag emoji or unicode by setting the keyword argument `countries_flags_file` or change country's currency code or currency symbol by setting the `countries_currencies` when creating the `IPinfo` object. Moreover, the response object includes a `details.continent` which includes continent code and name of IP. The default file can be changed by setting the `continent_file` while creating the `IPinfo` object. +When looking up an IP address, the response object includes `details.country_name`, `details.isEU`, `details.country_flag`, `details.country_flag_url` and `details.country_currency` attributes which includes the country based on American English. It is possible to return the country name in other languages by setting the `countries`, remove or add EU countries by setting the keyword argument `eu_countries`, change the country flag emoji or unicode by setting the keyword argument `countries_flags` or change country's currency code or currency symbol by setting the `countries_currencies` when creating the `IPinfo` object. Moreover, the response object includes a `details.continent` which includes continent code and name of IP. The default file can be changed by setting the `continent` while creating the `IPinfo` object. -The file must be a `.json` file with the following structure: +```python +>>> import ipinfo +# Country Names: In-memory map +>>> countries = { + "BD": "Bangladesh", + "BE": "Belgium", + "BF": "Burkina Faso", + ... +} -```json -{ - "BD": {"name":"Bangladesh", "isEU":false}, - "BE": {"name":"Belgium", "isEU":true}, - "BF": {"name":"Burkina Faso", "isEU":false}, - "BG": {"name":"Bulgaria", "isEU":true}, - ... +# EU Countries: In-memory list +>>> eu_countries = [ + "IE", + "AT", + "LT", + ... +] + +# Country Flags: In-memory map +>>> countries_flags = { + "AD": {"emoji": "๐Ÿ‡ฆ๐Ÿ‡ฉ", "unicode": "U+1F1E6 U+1F1E9"}, + "AE": {"emoji": "๐Ÿ‡ฆ๐Ÿ‡ช", "unicode": "U+1F1E6 U+1F1EA"}, + "AF": {"emoji": "๐Ÿ‡ฆ๐Ÿ‡ซ", "unicode": "U+1F1E6 U+1F1EB"}, + ... } -``` +# Country Currencies: In-memory map +>>> countries_currencies = { + "AD": {"code": "EUR", "symbol": "โ‚ฌ"}, + "AE": {"code": "AED", "symbol": "ุฏ.ุฅ"}, + "AF": {"code": "AFN", "symbol": "ุ‹"}, + ... +} + +# Continents: In-memory map +>>> continents = { + "BD": {"code": "AS", "name": "Asia"}, + "BE": {"code": "EU", "name": "Europe"}, + "BF": {"code": "AF", "name": "Africa"}, + ... +} + +# create handler +>>> access_token = '123456789abc' +>>> handler = ipinfo.getHandler( + access_token, + countries=countries, + eu_countries=eu_countries, + countries_flags=countries_flags, + countries_currencies=countries_currencies, + continents=continents +) +``` ### Batch Operations Looking up a single IP at a time can be slow. It could be done concurrently diff --git a/ipinfo/continent.json b/ipinfo/continent.json deleted file mode 100644 index 9baa1f2..0000000 --- a/ipinfo/continent.json +++ /dev/null @@ -1,253 +0,0 @@ -{ - "BD": {"code": "AS", "name": "Asia"}, - "BE": {"code": "EU", "name": "Europe"}, - "BF": {"code": "AF", "name": "Africa"}, - "BG": {"code": "EU", "name": "Europe"}, - "BA": {"code": "EU", "name": "Europe"}, - "BB": {"code": "NA", "name": "North America"}, - "WF": {"code": "OC", "name": "Oceania"}, - "BL": {"code": "NA", "name": "North America"}, - "BM": {"code": "NA", "name": "North America"}, - "BN": {"code": "AS", "name": "Asia"}, - "BO": {"code": "SA", "name": "South America"}, - "BH": {"code": "AS", "name": "Asia"}, - "BI": {"code": "AF", "name": "Africa"}, - "BJ": {"code": "AF", "name": "Africa"}, - "BT": {"code": "AS", "name": "Asia"}, - "JM": {"code": "NA", "name": "North America"}, - "BV": {"code": "AN", "name": "Antarctica"}, - "BW": {"code": "AF", "name": "Africa"}, - "WS": {"code": "OC", "name": "Oceania"}, - "BQ": {"code": "NA", "name": "North America"}, - "BR": {"code": "SA", "name": "South America"}, - "BS": {"code": "NA", "name": "North America"}, - "JE": {"code": "EU", "name": "Europe"}, - "BY": {"code": "EU", "name": "Europe"}, - "BZ": {"code": "NA", "name": "North America"}, - "RU": {"code": "EU", "name": "Europe"}, - "RW": {"code": "AF", "name": "Africa"}, - "RS": {"code": "EU", "name": "Europe"}, - "TL": {"code": "OC", "name": "Oceania"}, - "RE": {"code": "AF", "name": "Africa"}, - "TM": {"code": "AS", "name": "Asia"}, - "TJ": {"code": "AS", "name": "Asia"}, - "RO": {"code": "EU", "name": "Europe"}, - "TK": {"code": "OC", "name": "Oceania"}, - "GW": {"code": "AF", "name": "Africa"}, - "GU": {"code": "OC", "name": "Oceania"}, - "GT": {"code": "NA", "name": "North America"}, - "GS": {"code": "AN", "name": "Antarctica"}, - "GR": {"code": "EU", "name": "Europe"}, - "GQ": {"code": "AF", "name": "Africa"}, - "GP": {"code": "NA", "name": "North America"}, - "JP": {"code": "AS", "name": "Asia"}, - "GY": {"code": "SA", "name": "South America"}, - "GG": {"code": "EU", "name": "Europe"}, - "GF": {"code": "SA", "name": "South America"}, - "GE": {"code": "AS", "name": "Asia"}, - "GD": {"code": "NA", "name": "North America"}, - "GB": {"code": "EU", "name": "Europe"}, - "GA": {"code": "AF", "name": "Africa"}, - "SV": {"code": "NA", "name": "North America"}, - "GN": {"code": "AF", "name": "Africa"}, - "GM": {"code": "AF", "name": "Africa"}, - "GL": {"code": "NA", "name": "North America"}, - "GI": {"code": "EU", "name": "Europe"}, - "GH": {"code": "AF", "name": "Africa"}, - "OM": {"code": "AS", "name": "Asia"}, - "TN": {"code": "AF", "name": "Africa"}, - "JO": {"code": "AS", "name": "Asia"}, - "HR": {"code": "EU", "name": "Europe"}, - "HT": {"code": "NA", "name": "North America"}, - "HU": {"code": "EU", "name": "Europe"}, - "HK": {"code": "AS", "name": "Asia"}, - "HN": {"code": "NA", "name": "North America"}, - "HM": {"code": "AN", "name": "Antarctica"}, - "VE": {"code": "SA", "name": "South America"}, - "PR": {"code": "NA", "name": "North America"}, - "PS": {"code": "AS", "name": "Asia"}, - "PW": {"code": "OC", "name": "Oceania"}, - "PT": {"code": "EU", "name": "Europe"}, - "SJ": {"code": "EU", "name": "Europe"}, - "PY": {"code": "SA", "name": "South America"}, - "IQ": {"code": "AS", "name": "Asia"}, - "PA": {"code": "NA", "name": "North America"}, - "PF": {"code": "OC", "name": "Oceania"}, - "PG": {"code": "OC", "name": "Oceania"}, - "PE": {"code": "SA", "name": "South America"}, - "PK": {"code": "AS", "name": "Asia"}, - "PH": {"code": "AS", "name": "Asia"}, - "PN": {"code": "OC", "name": "Oceania"}, - "PL": {"code": "EU", "name": "Europe"}, - "PM": {"code": "NA", "name": "North America"}, - "ZM": {"code": "AF", "name": "Africa"}, - "EH": {"code": "AF", "name": "Africa"}, - "EE": {"code": "EU", "name": "Europe"}, - "EG": {"code": "AF", "name": "Africa"}, - "ZA": {"code": "AF", "name": "Africa"}, - "EC": {"code": "SA", "name": "South America"}, - "IT": {"code": "EU", "name": "Europe"}, - "VN": {"code": "AS", "name": "Asia"}, - "SB": {"code": "OC", "name": "Oceania"}, - "ET": {"code": "AF", "name": "Africa"}, - "SO": {"code": "AF", "name": "Africa"}, - "ZW": {"code": "AF", "name": "Africa"}, - "SA": {"code": "AS", "name": "Asia"}, - "ES": {"code": "EU", "name": "Europe"}, - "ER": {"code": "AF", "name": "Africa"}, - "ME": {"code": "EU", "name": "Europe"}, - "MD": {"code": "EU", "name": "Europe"}, - "MG": {"code": "AF", "name": "Africa"}, - "MF": {"code": "NA", "name": "North America"}, - "MA": {"code": "AF", "name": "Africa"}, - "MC": {"code": "EU", "name": "Europe"}, - "UZ": {"code": "AS", "name": "Asia"}, - "MM": {"code": "AS", "name": "Asia"}, - "ML": {"code": "AF", "name": "Africa"}, - "MO": {"code": "AS", "name": "Asia"}, - "MN": {"code": "AS", "name": "Asia"}, - "MH": {"code": "OC", "name": "Oceania"}, - "MK": {"code": "EU", "name": "Europe"}, - "MU": {"code": "AF", "name": "Africa"}, - "MT": {"code": "EU", "name": "Europe"}, - "MW": {"code": "AF", "name": "Africa"}, - "MV": {"code": "AS", "name": "Asia"}, - "MQ": {"code": "NA", "name": "North America"}, - "MP": {"code": "OC", "name": "Oceania"}, - "MS": {"code": "NA", "name": "North America"}, - "MR": {"code": "AF", "name": "Africa"}, - "IM": {"code": "EU", "name": "Europe"}, - "UG": {"code": "AF", "name": "Africa"}, - "TZ": {"code": "AF", "name": "Africa"}, - "MY": {"code": "AS", "name": "Asia"}, - "MX": {"code": "NA", "name": "North America"}, - "IL": {"code": "AS", "name": "Asia"}, - "FR": {"code": "EU", "name": "Europe"}, - "IO": {"code": "AS", "name": "Asia"}, - "SH": {"code": "AF", "name": "Africa"}, - "FI": {"code": "EU", "name": "Europe"}, - "FJ": {"code": "OC", "name": "Oceania"}, - "FK": {"code": "SA", "name": "South America"}, - "FM": {"code": "OC", "name": "Oceania"}, - "FO": {"code": "EU", "name": "Europe"}, - "NI": {"code": "NA", "name": "North America"}, - "NL": {"code": "EU", "name": "Europe"}, - "NO": {"code": "EU", "name": "Europe"}, - "NA": {"code": "AF", "name": "Africa"}, - "VU": {"code": "OC", "name": "Oceania"}, - "NC": {"code": "OC", "name": "Oceania"}, - "NE": {"code": "AF", "name": "Africa"}, - "NF": {"code": "OC", "name": "Oceania"}, - "NG": {"code": "AF", "name": "Africa"}, - "NZ": {"code": "OC", "name": "Oceania"}, - "NP": {"code": "AS", "name": "Asia"}, - "NR": {"code": "OC", "name": "Oceania"}, - "NU": {"code": "OC", "name": "Oceania"}, - "CK": {"code": "OC", "name": "Oceania"}, - "XK": {"code": "EU", "name": "Europe"}, - "CI": {"code": "AF", "name": "Africa"}, - "CH": {"code": "EU", "name": "Europe"}, - "CO": {"code": "SA", "name": "South America"}, - "CN": {"code": "AS", "name": "Asia"}, - "CM": {"code": "AF", "name": "Africa"}, - "CL": {"code": "SA", "name": "South America"}, - "CC": {"code": "AS", "name": "Asia"}, - "CA": {"code": "NA", "name": "North America"}, - "CG": {"code": "AF", "name": "Africa"}, - "CF": {"code": "AF", "name": "Africa"}, - "CD": {"code": "AF", "name": "Africa"}, - "CZ": {"code": "EU", "name": "Europe"}, - "CY": {"code": "EU", "name": "Europe"}, - "CX": {"code": "AS", "name": "Asia"}, - "CR": {"code": "NA", "name": "North America"}, - "CW": {"code": "NA", "name": "North America"}, - "CV": {"code": "AF", "name": "Africa"}, - "CU": {"code": "NA", "name": "North America"}, - "SZ": {"code": "AF", "name": "Africa"}, - "SY": {"code": "AS", "name": "Asia"}, - "SX": {"code": "NA", "name": "North America"}, - "KG": {"code": "AS", "name": "Asia"}, - "KE": {"code": "AF", "name": "Africa"}, - "SS": {"code": "AF", "name": "Africa"}, - "SR": {"code": "SA", "name": "South America"}, - "KI": {"code": "OC", "name": "Oceania"}, - "KH": {"code": "AS", "name": "Asia"}, - "KN": {"code": "NA", "name": "North America"}, - "KM": {"code": "AF", "name": "Africa"}, - "ST": {"code": "AF", "name": "Africa"}, - "SK": {"code": "EU", "name": "Europe"}, - "KR": {"code": "AS", "name": "Asia"}, - "SI": {"code": "EU", "name": "Europe"}, - "KP": {"code": "AS", "name": "Asia"}, - "KW": {"code": "AS", "name": "Asia"}, - "SN": {"code": "AF", "name": "Africa"}, - "SM": {"code": "EU", "name": "Europe"}, - "SL": {"code": "AF", "name": "Africa"}, - "SC": {"code": "AF", "name": "Africa"}, - "KZ": {"code": "AS", "name": "Asia"}, - "KY": {"code": "NA", "name": "North America"}, - "SG": {"code": "AS", "name": "Asia"}, - "SE": {"code": "EU", "name": "Europe"}, - "SD": {"code": "AF", "name": "Africa"}, - "DO": {"code": "NA", "name": "North America"}, - "DM": {"code": "NA", "name": "North America"}, - "DJ": {"code": "AF", "name": "Africa"}, - "DK": {"code": "EU", "name": "Europe"}, - "VG": {"code": "NA", "name": "North America"}, - "DE": {"code": "EU", "name": "Europe"}, - "YE": {"code": "AS", "name": "Asia"}, - "DZ": {"code": "AF", "name": "Africa"}, - "US": {"code": "NA", "name": "North America"}, - "UY": {"code": "SA", "name": "South America"}, - "YT": {"code": "AF", "name": "Africa"}, - "UM": {"code": "OC", "name": "Oceania"}, - "LB": {"code": "AS", "name": "Asia"}, - "LC": {"code": "NA", "name": "North America"}, - "LA": {"code": "AS", "name": "Asia"}, - "TV": {"code": "OC", "name": "Oceania"}, - "TW": {"code": "AS", "name": "Asia"}, - "TT": {"code": "NA", "name": "North America"}, - "TR": {"code": "AS", "name": "Asia"}, - "LK": {"code": "AS", "name": "Asia"}, - "LI": {"code": "EU", "name": "Europe"}, - "LV": {"code": "EU", "name": "Europe"}, - "TO": {"code": "OC", "name": "Oceania"}, - "LT": {"code": "EU", "name": "Europe"}, - "LU": {"code": "EU", "name": "Europe"}, - "LR": {"code": "AF", "name": "Africa"}, - "LS": {"code": "AF", "name": "Africa"}, - "TH": {"code": "AS", "name": "Asia"}, - "TF": {"code": "AN", "name": "Antarctica"}, - "TG": {"code": "AF", "name": "Africa"}, - "TD": {"code": "AF", "name": "Africa"}, - "TC": {"code": "NA", "name": "North America"}, - "LY": {"code": "AF", "name": "Africa"}, - "VA": {"code": "EU", "name": "Europe"}, - "VC": {"code": "NA", "name": "North America"}, - "AE": {"code": "AS", "name": "Asia"}, - "AD": {"code": "EU", "name": "Europe"}, - "AG": {"code": "NA", "name": "North America"}, - "AF": {"code": "AS", "name": "Asia"}, - "AI": {"code": "NA", "name": "North America"}, - "VI": {"code": "NA", "name": "North America"}, - "IS": {"code": "EU", "name": "Europe"}, - "IR": {"code": "AS", "name": "Asia"}, - "AM": {"code": "AS", "name": "Asia"}, - "AL": {"code": "EU", "name": "Europe"}, - "AO": {"code": "AF", "name": "Africa"}, - "AQ": {"code": "AN", "name": "Antarctica"}, - "AS": {"code": "OC", "name": "Oceania"}, - "AR": {"code": "SA", "name": "South America"}, - "AU": {"code": "OC", "name": "Oceania"}, - "AT": {"code": "EU", "name": "Europe"}, - "AW": {"code": "NA", "name": "North America"}, - "IN": {"code": "AS", "name": "Asia"}, - "AX": {"code": "EU", "name": "Europe"}, - "AZ": {"code": "AS", "name": "Asia"}, - "IE": {"code": "EU", "name": "Europe"}, - "ID": {"code": "AS", "name": "Asia"}, - "UA": {"code": "EU", "name": "Europe"}, - "QA": {"code": "AS", "name": "Asia"}, - "MZ": {"code": "AF", "name": "Africa"} - } - \ No newline at end of file diff --git a/ipinfo/countries.json b/ipinfo/countries.json deleted file mode 100644 index e9c6f71..0000000 --- a/ipinfo/countries.json +++ /dev/null @@ -1 +0,0 @@ -{"BD": "Bangladesh", "BE": "Belgium", "BF": "Burkina Faso", "BG": "Bulgaria", "BA": "Bosnia and Herzegovina", "BB": "Barbados", "WF": "Wallis and Futuna", "BL": "Saint Barthelemy", "BM": "Bermuda", "BN": "Brunei", "BO": "Bolivia", "BH": "Bahrain", "BI": "Burundi", "BJ": "Benin", "BT": "Bhutan", "JM": "Jamaica", "BV": "Bouvet Island", "BW": "Botswana", "WS": "Samoa", "BQ": "Bonaire, Saint Eustatius and Saba ", "BR": "Brazil", "BS": "Bahamas", "JE": "Jersey", "BY": "Belarus", "BZ": "Belize", "RU": "Russia", "RW": "Rwanda", "RS": "Serbia", "TL": "East Timor", "RE": "Reunion", "TM": "Turkmenistan", "TJ": "Tajikistan", "RO": "Romania", "TK": "Tokelau", "GW": "Guinea-Bissau", "GU": "Guam", "GT": "Guatemala", "GS": "South Georgia and the South Sandwich Islands", "GR": "Greece", "GQ": "Equatorial Guinea", "GP": "Guadeloupe", "JP": "Japan", "GY": "Guyana", "GG": "Guernsey", "GF": "French Guiana", "GE": "Georgia", "GD": "Grenada", "GB": "United Kingdom", "GA": "Gabon", "SV": "El Salvador", "GN": "Guinea", "GM": "Gambia", "GL": "Greenland", "GI": "Gibraltar", "GH": "Ghana", "OM": "Oman", "TN": "Tunisia", "JO": "Jordan", "HR": "Croatia", "HT": "Haiti", "HU": "Hungary", "HK": "Hong Kong", "HN": "Honduras", "HM": "Heard Island and McDonald Islands", "VE": "Venezuela", "PR": "Puerto Rico", "PS": "Palestinian Territory", "PW": "Palau", "PT": "Portugal", "SJ": "Svalbard and Jan Mayen", "PY": "Paraguay", "IQ": "Iraq", "PA": "Panama", "PF": "French Polynesia", "PG": "Papua New Guinea", "PE": "Peru", "PK": "Pakistan", "PH": "Philippines", "PN": "Pitcairn", "PL": "Poland", "PM": "Saint Pierre and Miquelon", "ZM": "Zambia", "EH": "Western Sahara", "EE": "Estonia", "EG": "Egypt", "ZA": "South Africa", "EC": "Ecuador", "IT": "Italy", "VN": "Vietnam", "SB": "Solomon Islands", "ET": "Ethiopia", "SO": "Somalia", "ZW": "Zimbabwe", "SA": "Saudi Arabia", "ES": "Spain", "ER": "Eritrea", "ME": "Montenegro", "MD": "Moldova", "MG": "Madagascar", "MF": "Saint Martin", "MA": "Morocco", "MC": "Monaco", "UZ": "Uzbekistan", "MM": "Myanmar", "ML": "Mali", "MO": "Macao", "MN": "Mongolia", "MH": "Marshall Islands", "MK": "Macedonia", "MU": "Mauritius", "MT": "Malta", "MW": "Malawi", "MV": "Maldives", "MQ": "Martinique", "MP": "Northern Mariana Islands", "MS": "Montserrat", "MR": "Mauritania", "IM": "Isle of Man", "UG": "Uganda", "TZ": "Tanzania", "MY": "Malaysia", "MX": "Mexico", "IL": "Israel", "FR": "France", "IO": "British Indian Ocean Territory", "SH": "Saint Helena", "FI": "Finland", "FJ": "Fiji", "FK": "Falkland Islands", "FM": "Micronesia", "FO": "Faroe Islands", "NI": "Nicaragua", "NL": "Netherlands", "NO": "Norway", "NA": "Namibia", "VU": "Vanuatu", "NC": "New Caledonia", "NE": "Niger", "NF": "Norfolk Island", "NG": "Nigeria", "NZ": "New Zealand", "NP": "Nepal", "NR": "Nauru", "NU": "Niue", "CK": "Cook Islands", "XK": "Kosovo", "CI": "Ivory Coast", "CH": "Switzerland", "CO": "Colombia", "CN": "China", "CM": "Cameroon", "CL": "Chile", "CC": "Cocos Islands", "CA": "Canada", "CG": "Republic of the Congo", "CF": "Central African Republic", "CD": "Democratic Republic of the Congo", "CZ": "Czech Republic", "CY": "Cyprus", "CX": "Christmas Island", "CR": "Costa Rica", "CW": "Curacao", "CV": "Cape Verde", "CU": "Cuba", "SZ": "Swaziland", "SY": "Syria", "SX": "Sint Maarten", "KG": "Kyrgyzstan", "KE": "Kenya", "SS": "South Sudan", "SR": "Suriname", "KI": "Kiribati", "KH": "Cambodia", "KN": "Saint Kitts and Nevis", "KM": "Comoros", "ST": "Sao Tome and Principe", "SK": "Slovakia", "KR": "South Korea", "SI": "Slovenia", "KP": "North Korea", "KW": "Kuwait", "SN": "Senegal", "SM": "San Marino", "SL": "Sierra Leone", "SC": "Seychelles", "KZ": "Kazakhstan", "KY": "Cayman Islands", "SG": "Singapore", "SE": "Sweden", "SD": "Sudan", "DO": "Dominican Republic", "DM": "Dominica", "DJ": "Djibouti", "DK": "Denmark", "VG": "British Virgin Islands", "DE": "Germany", "YE": "Yemen", "DZ": "Algeria", "US": "United States", "UY": "Uruguay", "YT": "Mayotte", "UM": "United States Minor Outlying Islands", "LB": "Lebanon", "LC": "Saint Lucia", "LA": "Laos", "TV": "Tuvalu", "TW": "Taiwan", "TT": "Trinidad and Tobago", "TR": "Turkey", "LK": "Sri Lanka", "LI": "Liechtenstein", "LV": "Latvia", "TO": "Tonga", "LT": "Lithuania", "LU": "Luxembourg", "LR": "Liberia", "LS": "Lesotho", "TH": "Thailand", "TF": "French Southern Territories", "TG": "Togo", "TD": "Chad", "TC": "Turks and Caicos Islands", "LY": "Libya", "VA": "Vatican", "VC": "Saint Vincent and the Grenadines", "AE": "United Arab Emirates", "AD": "Andorra", "AG": "Antigua and Barbuda", "AF": "Afghanistan", "AI": "Anguilla", "VI": "U.S. Virgin Islands", "IS": "Iceland", "IR": "Iran", "AM": "Armenia", "AL": "Albania", "AO": "Angola", "AQ": "Antarctica", "AS": "American Samoa", "AR": "Argentina", "AU": "Australia", "AT": "Austria", "AW": "Aruba", "IN": "India", "AX": "Aland Islands", "AZ": "Azerbaijan", "IE": "Ireland", "ID": "Indonesia", "UA": "Ukraine", "QA": "Qatar", "MZ": "Mozambique"} diff --git a/ipinfo/currency.json b/ipinfo/currency.json deleted file mode 100644 index 67198b5..0000000 --- a/ipinfo/currency.json +++ /dev/null @@ -1,252 +0,0 @@ -{ - "AD" : { "code": "EUR" ,"symbol": "โ‚ฌ"}, - "AE" : { "code": "AED" ,"symbol": "ุฏ.ุฅ"}, - "AF" : { "code": "AFN" ,"symbol": "ุ‹"}, - "AG" : { "code": "XCD" ,"symbol": "$"}, - "AI" : { "code": "XCD" ,"symbol": "$"}, - "AL" : { "code": "ALL" ,"symbol": "L"}, - "AM" : { "code": "AMD" ,"symbol": "ึ"}, - "AO" : { "code": "AOA" ,"symbol": "Kz"}, - "AQ" : { "code": "" ,"symbol": "$"}, - "AR" : { "code": "ARS" ,"symbol": "$"}, - "AS" : { "code": "USD" ,"symbol": "$"}, - "AT" : { "code": "EUR" ,"symbol": "โ‚ฌ"}, - "AU" : { "code": "AUD" ,"symbol": "$"}, - "AW" : { "code": "AWG" ,"symbol": "ฦ’"}, - "AX" : { "code": "EUR" ,"symbol": "โ‚ฌ"}, - "AZ" : { "code": "AZN" ,"symbol": "โ‚ผ"}, - "BA" : { "code": "BAM" ,"symbol": "KM"}, - "BB" : { "code": "BBD" ,"symbol": "$"}, - "BD" : { "code": "BDT" ,"symbol": "เงณ"}, - "BE" : { "code": "EUR" ,"symbol": "โ‚ฌ"}, - "BF" : { "code": "XOF" ,"symbol": "CFA"}, - "BG" : { "code": "BGN" ,"symbol": "ะปะฒ"}, - "BH" : { "code": "BHD" ,"symbol": ".ุฏ.ุจ"}, - "BI" : { "code": "BIF" ,"symbol": "FBu"}, - "BJ" : { "code": "XOF" ,"symbol": "CFA"}, - "BL" : { "code": "EUR" ,"symbol": "โ‚ฌ"}, - "BM" : { "code": "BMD" ,"symbol": "$"}, - "BN" : { "code": "BND" ,"symbol": "$"}, - "BO" : { "code": "BOB" ,"symbol": "$b"}, - "BQ" : { "code": "USD" ,"symbol": "$"}, - "BR" : { "code": "BRL" ,"symbol": "R$"}, - "BS" : { "code": "BSD" ,"symbol": "$"}, - "BT" : { "code": "BTN" ,"symbol": "Nu."}, - "BV" : { "code": "NOK" ,"symbol": "kr"}, - "BW" : { "code": "BWP" ,"symbol": "P"}, - "BY" : { "code": "BYR" ,"symbol": "Br"}, - "BZ" : { "code": "BZD" ,"symbol": "BZ$"}, - "CA" : { "code": "CAD" ,"symbol": "$"}, - "CC" : { "code": "AUD" ,"symbol": "$"}, - "CD" : { "code": "CDF" ,"symbol": "FC"}, - "CF" : { "code": "XAF" ,"symbol": "FCFA"}, - "CG" : { "code": "XAF" ,"symbol": "FCFA"}, - "CH" : { "code": "CHF" ,"symbol": "CHF"}, - "CI" : { "code": "XOF" ,"symbol": "CFA"}, - "CK" : { "code": "NZD" ,"symbol": "$"}, - "CL" : { "code": "CLP" ,"symbol": "$"}, - "CM" : { "code": "XAF" ,"symbol": "FCFA"}, - "CN" : { "code": "CNY" ,"symbol": "ยฅ"}, - "CO" : { "code": "COP" ,"symbol": "$"}, - "CR" : { "code": "CRC" ,"symbol": "โ‚ก"}, - "CU" : { "code": "CUP" ,"symbol": "โ‚ฑ"}, - "CV" : { "code": "CVE" ,"symbol": "$"}, - "CW" : { "code": "ANG" ,"symbol": "ฦ’"}, - "CX" : { "code": "AUD" ,"symbol": "$"}, - "CY" : { "code": "EUR" ,"symbol": "โ‚ฌ"}, - "CZ" : { "code": "CZK" ,"symbol": "Kฤ"}, - "DE" : { "code": "EUR" ,"symbol": "โ‚ฌ"}, - "DJ" : { "code": "DJF" ,"symbol": "Fdj"}, - "DK" : { "code": "DKK" ,"symbol": "kr"}, - "DM" : { "code": "XCD" ,"symbol": "$"}, - "DO" : { "code": "DOP" ,"symbol": "RD$"}, - "DZ" : { "code": "DZD" ,"symbol": "ุฏุฌ"}, - "EC" : { "code": "USD" ,"symbol": "$"}, - "EE" : { "code": "EUR" ,"symbol": "โ‚ฌ"}, - "EG" : { "code": "EGP" ,"symbol": "ยฃ"}, - "EH" : { "code": "MAD" ,"symbol": "MAD"}, - "ER" : { "code": "ERN" ,"symbol": "Nfk"}, - "ES" : { "code": "EUR" ,"symbol": "โ‚ฌ"}, - "ET" : { "code": "ETB" ,"symbol": "Br"}, - "FI" : { "code": "EUR" ,"symbol": "โ‚ฌ"}, - "FJ" : { "code": "FJD" ,"symbol": "$"}, - "FK" : { "code": "FKP" ,"symbol": "ยฃ"}, - "FM" : { "code": "USD" ,"symbol": "$"}, - "FO" : { "code": "DKK" ,"symbol": "kr"}, - "FR" : { "code": "EUR" ,"symbol": "โ‚ฌ"}, - "GA" : { "code": "XAF" ,"symbol": "FCFA"}, - "GB" : { "code": "GBP" ,"symbol": "ยฃ"}, - "GD" : { "code": "XCD" ,"symbol": "$"}, - "GE" : { "code": "GEL" ,"symbol": "แƒš"}, - "GF" : { "code": "EUR" ,"symbol": "โ‚ฌ"}, - "GG" : { "code": "GBP" ,"symbol": "ยฃ"}, - "GH" : { "code": "GHS" ,"symbol": "GHโ‚ต"}, - "GI" : { "code": "GIP" ,"symbol": "ยฃ"}, - "GL" : { "code": "DKK" ,"symbol": "kr"}, - "GM" : { "code": "GMD" ,"symbol": "D"}, - "GN" : { "code": "GNF" ,"symbol": "FG"}, - "GP" : { "code": "EUR" ,"symbol": "โ‚ฌ"}, - "GQ" : { "code": "XAF" ,"symbol": "FCFA"}, - "GR" : { "code": "EUR" ,"symbol": "โ‚ฌ"}, - "GS" : { "code": "GBP" ,"symbol": "ยฃ"}, - "GT" : { "code": "GTQ" ,"symbol": "Q"}, - "GU" : { "code": "USD" ,"symbol": "$"}, - "GW" : { "code": "XOF" ,"symbol": "CFA"}, - "GY" : { "code": "GYD" ,"symbol": "$"}, - "HK" : { "code": "HKD" ,"symbol": "$"}, - "HM" : { "code": "AUD" ,"symbol": "$"}, - "HN" : { "code": "HNL" ,"symbol": "L"}, - "HR" : { "code": "HRK" ,"symbol": "kn"}, - "HT" : { "code": "HTG" ,"symbol": "G"}, - "HU" : { "code": "HUF" ,"symbol": "Ft"}, - "ID" : { "code": "IDR" ,"symbol": "Rp"}, - "IE" : { "code": "EUR" ,"symbol": "โ‚ฌ"}, - "IL" : { "code": "ILS" ,"symbol": "โ‚ช"}, - "IM" : { "code": "GBP" ,"symbol": "ยฃ"}, - "IN" : { "code": "INR" ,"symbol": "โ‚น"}, - "IO" : { "code": "USD" ,"symbol": "$"}, - "IQ" : { "code": "IQD" ,"symbol": "ุน.ุฏ"}, - "IR" : { "code": "IRR" ,"symbol": "๏ทผ"}, - "IS" : { "code": "ISK" ,"symbol": "kr"}, - "IT" : { "code": "EUR" ,"symbol": "โ‚ฌ"}, - "JE" : { "code": "GBP" ,"symbol": "ยฃ"}, - "JM" : { "code": "JMD" ,"symbol": "J$"}, - "JO" : { "code": "JOD" ,"symbol": "JD"}, - "JP" : { "code": "JPY" ,"symbol": "ยฅ"}, - "KE" : { "code": "KES" ,"symbol": "KSh"}, - "KG" : { "code": "KGS" ,"symbol": "ะปะฒ"}, - "KH" : { "code": "KHR" ,"symbol": "แŸ›"}, - "KI" : { "code": "AUD" ,"symbol": "$"}, - "KM" : { "code": "KMF" ,"symbol": "CF"}, - "KN" : { "code": "XCD" ,"symbol": "$"}, - "KP" : { "code": "KPW" ,"symbol": "โ‚ฉ"}, - "KR" : { "code": "KRW" ,"symbol": "โ‚ฉ"}, - "KW" : { "code": "KWD" ,"symbol": "KD"}, - "KY" : { "code": "KYD" ,"symbol": "$"}, - "KZ" : { "code": "KZT" ,"symbol": "โ‚ธ"}, - "LA" : { "code": "LAK" ,"symbol": "โ‚ญ"}, - "LB" : { "code": "LBP" ,"symbol": "ยฃ"}, - "LC" : { "code": "XCD" ,"symbol": "$"}, - "LI" : { "code": "CHF" ,"symbol": "CHF"}, - "LK" : { "code": "LKR" ,"symbol": "โ‚จ"}, - "LR" : { "code": "LRD" ,"symbol": "$"}, - "LS" : { "code": "LSL" ,"symbol": "M"}, - "LT" : { "code": "LTL" ,"symbol": "Lt"}, - "LU" : { "code": "EUR" ,"symbol": "โ‚ฌ"}, - "LV" : { "code": "EUR" ,"symbol": "โ‚ฌ"}, - "LY" : { "code": "LYD" ,"symbol": "LD"}, - "MA" : { "code": "MAD" ,"symbol": "MAD"}, - "MC" : { "code": "EUR" ,"symbol": "โ‚ฌ"}, - "MD" : { "code": "MDL" ,"symbol": "lei"}, - "ME" : { "code": "EUR" ,"symbol": "โ‚ฌ"}, - "MF" : { "code": "EUR" ,"symbol": "โ‚ฌ"}, - "MG" : { "code": "MGA" ,"symbol": "Ar"}, - "MH" : { "code": "USD" ,"symbol": "$"}, - "MK" : { "code": "MKD" ,"symbol": "ะดะตะฝ"}, - "ML" : { "code": "XOF" ,"symbol": "CFA"}, - "MM" : { "code": "MMK" ,"symbol": "K"}, - "MN" : { "code": "MNT" ,"symbol": "โ‚ฎ"}, - "MO" : { "code": "MOP" ,"symbol": "MOP$"}, - "MP" : { "code": "USD" ,"symbol": "$"}, - "MQ" : { "code": "EUR" ,"symbol": "โ‚ฌ"}, - "MR" : { "code": "MRO" ,"symbol": "UM"}, - "MS" : { "code": "XCD" ,"symbol": "$"}, - "MT" : { "code": "EUR" ,"symbol": "โ‚ฌ"}, - "MU" : { "code": "MUR" ,"symbol": "โ‚จ"}, - "MV" : { "code": "MVR" ,"symbol": "Rf"}, - "MW" : { "code": "MWK" ,"symbol": "MK"}, - "MX" : { "code": "MXN" ,"symbol": "$"}, - "MY" : { "code": "MYR" ,"symbol": "RM"}, - "MZ" : { "code": "MZN" ,"symbol": "MT"}, - "NA" : { "code": "NAD" ,"symbol": "$"}, - "NC" : { "code": "XPF" ,"symbol": "โ‚ฃ"}, - "NE" : { "code": "XOF" ,"symbol": "CFA"}, - "NF" : { "code": "AUD" ,"symbol": "$"}, - "NG" : { "code": "NGN" ,"symbol": "โ‚ฆ"}, - "NI" : { "code": "NIO" ,"symbol": "C$"}, - "NL" : { "code": "EUR" ,"symbol": "โ‚ฌ"}, - "NO" : { "code": "NOK" ,"symbol": "kr"}, - "NP" : { "code": "NPR" ,"symbol": "โ‚จ"}, - "NR" : { "code": "AUD" ,"symbol": "$"}, - "NU" : { "code": "NZD" ,"symbol": "$"}, - "NZ" : { "code": "NZD" ,"symbol": "$"}, - "OM" : { "code": "OMR" ,"symbol": "๏ทผ"}, - "PA" : { "code": "PAB" ,"symbol": "B/."}, - "PE" : { "code": "PEN" ,"symbol": "S/."}, - "PF" : { "code": "XPF" ,"symbol": "โ‚ฃ"}, - "PG" : { "code": "PGK" ,"symbol": "K"}, - "PH" : { "code": "PHP" ,"symbol": "โ‚ฑ"}, - "PK" : { "code": "PKR" ,"symbol": "โ‚จ"}, - "PL" : { "code": "PLN" ,"symbol": "zล‚"}, - "PM" : { "code": "EUR" ,"symbol": "โ‚ฌ"}, - "PN" : { "code": "NZD" ,"symbol": "$"}, - "PR" : { "code": "USD" ,"symbol": "$"}, - "PS" : { "code": "ILS" ,"symbol": "โ‚ช"}, - "PT" : { "code": "EUR" ,"symbol": "โ‚ฌ"}, - "PW" : { "code": "USD" ,"symbol": "$"}, - "PY" : { "code": "PYG" ,"symbol": "Gs"}, - "QA" : { "code": "QAR" ,"symbol": "๏ทผ"}, - "RE" : { "code": "EUR" ,"symbol": "โ‚ฌ"}, - "RO" : { "code": "RON" ,"symbol": "lei"}, - "RS" : { "code": "RSD" ,"symbol": "ะ”ะธะฝ."}, - "RU" : { "code": "RUB" ,"symbol": "โ‚ฝ"}, - "RW" : { "code": "RWF" ,"symbol": "Rโ‚ฃ"}, - "SA" : { "code": "SAR" ,"symbol": "๏ทผ"}, - "SB" : { "code": "SBD" ,"symbol": "$"}, - "SC" : { "code": "SCR" ,"symbol": "โ‚จ"}, - "SD" : { "code": "SDG" ,"symbol": "ุฌ.ุณ."}, - "SE" : { "code": "SEK" ,"symbol": "kr"}, - "SG" : { "code": "SGD" ,"symbol": "S$"}, - "SH" : { "code": "SHP" ,"symbol": "ยฃ"}, - "SI" : { "code": "EUR" ,"symbol": "โ‚ฌ"}, - "SJ" : { "code": "NOK" ,"symbol": "kr"}, - "SK" : { "code": "EUR" ,"symbol": "โ‚ฌ"}, - "SL" : { "code": "SLL" ,"symbol": "Le"}, - "SM" : { "code": "EUR" ,"symbol": "โ‚ฌ"}, - "SN" : { "code": "XOF" ,"symbol": "CFA"}, - "SO" : { "code": "SOS" ,"symbol": "S"}, - "SR" : { "code": "SRD" ,"symbol": "$"}, - "SS" : { "code": "SSP" ,"symbol": "ยฃ"}, - "ST" : { "code": "STD" ,"symbol": "Db"}, - "SV" : { "code": "USD" ,"symbol": "$"}, - "SX" : { "code": "ANG" ,"symbol": "ฦ’"}, - "SY" : { "code": "SYP" ,"symbol": "ยฃ"}, - "SZ" : { "code": "SZL" ,"symbol": "E"}, - "TC" : { "code": "USD" ,"symbol": "$"}, - "TD" : { "code": "XAF" ,"symbol": "FCFA"}, - "TF" : { "code": "EUR" ,"symbol": "โ‚ฌ"}, - "TG" : { "code": "XOF" ,"symbol": "CFA"}, - "TH" : { "code": "THB" ,"symbol": "เธฟ"}, - "TJ" : { "code": "TJS" ,"symbol": "SM"}, - "TK" : { "code": "NZD" ,"symbol": "$"}, - "TL" : { "code": "USD" ,"symbol": "$"}, - "TM" : { "code": "TMT" ,"symbol": "T"}, - "TN" : { "code": "TND" ,"symbol": "ุฏ.ุช"}, - "TO" : { "code": "TOP" ,"symbol": "T$"}, - "TR" : { "code": "TRY" ,"symbol": "โ‚บ"}, - "TT" : { "code": "TTD" ,"symbol": "TT$"}, - "TV" : { "code": "AUD" ,"symbol": "$"}, - "TW" : { "code": "TWD" ,"symbol": "NT$"}, - "TZ" : { "code": "TZS" ,"symbol": "TSh"}, - "UA" : { "code": "UAH" ,"symbol": "โ‚ด"}, - "UG" : { "code": "UGX" ,"symbol": "USh"}, - "UM" : { "code": "USD" ,"symbol": "$"}, - "US" : { "code": "USD" ,"symbol": "$"}, - "UY" : { "code": "UYU" ,"symbol": "$U"}, - "UZ" : { "code": "UZS" ,"symbol": "ะปะฒ"}, - "VA" : { "code": "EUR" ,"symbol": "โ‚ฌ"}, - "VC" : { "code": "XCD" ,"symbol": "$"}, - "VE" : { "code": "VEF" ,"symbol": "Bs"}, - "VG" : { "code": "USD" ,"symbol": "$"}, - "VI" : { "code": "USD" ,"symbol": "$"}, - "VN" : { "code": "VND" ,"symbol": "โ‚ซ"}, - "VU" : { "code": "VUV" ,"symbol": "VT"}, - "WF" : { "code": "XPF" ,"symbol": "โ‚ฃ"}, - "WS" : { "code": "WST" ,"symbol": "WS$"}, - "XK" : { "code": "EUR" ,"symbol": "โ‚ฌ"}, - "YE" : { "code": "YER" ,"symbol": "๏ทผ"}, - "YT" : { "code": "EUR" ,"symbol": "โ‚ฌ"}, - "ZA" : { "code": "ZAR" ,"symbol": "R"}, - "ZM" : { "code": "ZMK" ,"symbol": "ZK"}, - "ZW" : { "code": "ZWL" ,"symbol": "$"} -} diff --git a/ipinfo/data.py b/ipinfo/data.py new file mode 100644 index 0000000..21271da --- /dev/null +++ b/ipinfo/data.py @@ -0,0 +1,1042 @@ +continents = { + "BD": {"code": "AS", "name": "Asia"}, + "BE": {"code": "EU", "name": "Europe"}, + "BF": {"code": "AF", "name": "Africa"}, + "BG": {"code": "EU", "name": "Europe"}, + "BA": {"code": "EU", "name": "Europe"}, + "BB": {"code": "NA", "name": "North America"}, + "WF": {"code": "OC", "name": "Oceania"}, + "BL": {"code": "NA", "name": "North America"}, + "BM": {"code": "NA", "name": "North America"}, + "BN": {"code": "AS", "name": "Asia"}, + "BO": {"code": "SA", "name": "South America"}, + "BH": {"code": "AS", "name": "Asia"}, + "BI": {"code": "AF", "name": "Africa"}, + "BJ": {"code": "AF", "name": "Africa"}, + "BT": {"code": "AS", "name": "Asia"}, + "JM": {"code": "NA", "name": "North America"}, + "BV": {"code": "AN", "name": "Antarctica"}, + "BW": {"code": "AF", "name": "Africa"}, + "WS": {"code": "OC", "name": "Oceania"}, + "BQ": {"code": "NA", "name": "North America"}, + "BR": {"code": "SA", "name": "South America"}, + "BS": {"code": "NA", "name": "North America"}, + "JE": {"code": "EU", "name": "Europe"}, + "BY": {"code": "EU", "name": "Europe"}, + "BZ": {"code": "NA", "name": "North America"}, + "RU": {"code": "EU", "name": "Europe"}, + "RW": {"code": "AF", "name": "Africa"}, + "RS": {"code": "EU", "name": "Europe"}, + "TL": {"code": "OC", "name": "Oceania"}, + "RE": {"code": "AF", "name": "Africa"}, + "TM": {"code": "AS", "name": "Asia"}, + "TJ": {"code": "AS", "name": "Asia"}, + "RO": {"code": "EU", "name": "Europe"}, + "TK": {"code": "OC", "name": "Oceania"}, + "GW": {"code": "AF", "name": "Africa"}, + "GU": {"code": "OC", "name": "Oceania"}, + "GT": {"code": "NA", "name": "North America"}, + "GS": {"code": "AN", "name": "Antarctica"}, + "GR": {"code": "EU", "name": "Europe"}, + "GQ": {"code": "AF", "name": "Africa"}, + "GP": {"code": "NA", "name": "North America"}, + "JP": {"code": "AS", "name": "Asia"}, + "GY": {"code": "SA", "name": "South America"}, + "GG": {"code": "EU", "name": "Europe"}, + "GF": {"code": "SA", "name": "South America"}, + "GE": {"code": "AS", "name": "Asia"}, + "GD": {"code": "NA", "name": "North America"}, + "GB": {"code": "EU", "name": "Europe"}, + "GA": {"code": "AF", "name": "Africa"}, + "SV": {"code": "NA", "name": "North America"}, + "GN": {"code": "AF", "name": "Africa"}, + "GM": {"code": "AF", "name": "Africa"}, + "GL": {"code": "NA", "name": "North America"}, + "GI": {"code": "EU", "name": "Europe"}, + "GH": {"code": "AF", "name": "Africa"}, + "OM": {"code": "AS", "name": "Asia"}, + "TN": {"code": "AF", "name": "Africa"}, + "JO": {"code": "AS", "name": "Asia"}, + "HR": {"code": "EU", "name": "Europe"}, + "HT": {"code": "NA", "name": "North America"}, + "HU": {"code": "EU", "name": "Europe"}, + "HK": {"code": "AS", "name": "Asia"}, + "HN": {"code": "NA", "name": "North America"}, + "HM": {"code": "AN", "name": "Antarctica"}, + "VE": {"code": "SA", "name": "South America"}, + "PR": {"code": "NA", "name": "North America"}, + "PS": {"code": "AS", "name": "Asia"}, + "PW": {"code": "OC", "name": "Oceania"}, + "PT": {"code": "EU", "name": "Europe"}, + "SJ": {"code": "EU", "name": "Europe"}, + "PY": {"code": "SA", "name": "South America"}, + "IQ": {"code": "AS", "name": "Asia"}, + "PA": {"code": "NA", "name": "North America"}, + "PF": {"code": "OC", "name": "Oceania"}, + "PG": {"code": "OC", "name": "Oceania"}, + "PE": {"code": "SA", "name": "South America"}, + "PK": {"code": "AS", "name": "Asia"}, + "PH": {"code": "AS", "name": "Asia"}, + "PN": {"code": "OC", "name": "Oceania"}, + "PL": {"code": "EU", "name": "Europe"}, + "PM": {"code": "NA", "name": "North America"}, + "ZM": {"code": "AF", "name": "Africa"}, + "EH": {"code": "AF", "name": "Africa"}, + "EE": {"code": "EU", "name": "Europe"}, + "EG": {"code": "AF", "name": "Africa"}, + "ZA": {"code": "AF", "name": "Africa"}, + "EC": {"code": "SA", "name": "South America"}, + "IT": {"code": "EU", "name": "Europe"}, + "VN": {"code": "AS", "name": "Asia"}, + "SB": {"code": "OC", "name": "Oceania"}, + "ET": {"code": "AF", "name": "Africa"}, + "SO": {"code": "AF", "name": "Africa"}, + "ZW": {"code": "AF", "name": "Africa"}, + "SA": {"code": "AS", "name": "Asia"}, + "ES": {"code": "EU", "name": "Europe"}, + "ER": {"code": "AF", "name": "Africa"}, + "ME": {"code": "EU", "name": "Europe"}, + "MD": {"code": "EU", "name": "Europe"}, + "MG": {"code": "AF", "name": "Africa"}, + "MF": {"code": "NA", "name": "North America"}, + "MA": {"code": "AF", "name": "Africa"}, + "MC": {"code": "EU", "name": "Europe"}, + "UZ": {"code": "AS", "name": "Asia"}, + "MM": {"code": "AS", "name": "Asia"}, + "ML": {"code": "AF", "name": "Africa"}, + "MO": {"code": "AS", "name": "Asia"}, + "MN": {"code": "AS", "name": "Asia"}, + "MH": {"code": "OC", "name": "Oceania"}, + "MK": {"code": "EU", "name": "Europe"}, + "MU": {"code": "AF", "name": "Africa"}, + "MT": {"code": "EU", "name": "Europe"}, + "MW": {"code": "AF", "name": "Africa"}, + "MV": {"code": "AS", "name": "Asia"}, + "MQ": {"code": "NA", "name": "North America"}, + "MP": {"code": "OC", "name": "Oceania"}, + "MS": {"code": "NA", "name": "North America"}, + "MR": {"code": "AF", "name": "Africa"}, + "IM": {"code": "EU", "name": "Europe"}, + "UG": {"code": "AF", "name": "Africa"}, + "TZ": {"code": "AF", "name": "Africa"}, + "MY": {"code": "AS", "name": "Asia"}, + "MX": {"code": "NA", "name": "North America"}, + "IL": {"code": "AS", "name": "Asia"}, + "FR": {"code": "EU", "name": "Europe"}, + "IO": {"code": "AS", "name": "Asia"}, + "SH": {"code": "AF", "name": "Africa"}, + "FI": {"code": "EU", "name": "Europe"}, + "FJ": {"code": "OC", "name": "Oceania"}, + "FK": {"code": "SA", "name": "South America"}, + "FM": {"code": "OC", "name": "Oceania"}, + "FO": {"code": "EU", "name": "Europe"}, + "NI": {"code": "NA", "name": "North America"}, + "NL": {"code": "EU", "name": "Europe"}, + "NO": {"code": "EU", "name": "Europe"}, + "NA": {"code": "AF", "name": "Africa"}, + "VU": {"code": "OC", "name": "Oceania"}, + "NC": {"code": "OC", "name": "Oceania"}, + "NE": {"code": "AF", "name": "Africa"}, + "NF": {"code": "OC", "name": "Oceania"}, + "NG": {"code": "AF", "name": "Africa"}, + "NZ": {"code": "OC", "name": "Oceania"}, + "NP": {"code": "AS", "name": "Asia"}, + "NR": {"code": "OC", "name": "Oceania"}, + "NU": {"code": "OC", "name": "Oceania"}, + "CK": {"code": "OC", "name": "Oceania"}, + "XK": {"code": "EU", "name": "Europe"}, + "CI": {"code": "AF", "name": "Africa"}, + "CH": {"code": "EU", "name": "Europe"}, + "CO": {"code": "SA", "name": "South America"}, + "CN": {"code": "AS", "name": "Asia"}, + "CM": {"code": "AF", "name": "Africa"}, + "CL": {"code": "SA", "name": "South America"}, + "CC": {"code": "AS", "name": "Asia"}, + "CA": {"code": "NA", "name": "North America"}, + "CG": {"code": "AF", "name": "Africa"}, + "CF": {"code": "AF", "name": "Africa"}, + "CD": {"code": "AF", "name": "Africa"}, + "CZ": {"code": "EU", "name": "Europe"}, + "CY": {"code": "EU", "name": "Europe"}, + "CX": {"code": "AS", "name": "Asia"}, + "CR": {"code": "NA", "name": "North America"}, + "CW": {"code": "NA", "name": "North America"}, + "CV": {"code": "AF", "name": "Africa"}, + "CU": {"code": "NA", "name": "North America"}, + "SZ": {"code": "AF", "name": "Africa"}, + "SY": {"code": "AS", "name": "Asia"}, + "SX": {"code": "NA", "name": "North America"}, + "KG": {"code": "AS", "name": "Asia"}, + "KE": {"code": "AF", "name": "Africa"}, + "SS": {"code": "AF", "name": "Africa"}, + "SR": {"code": "SA", "name": "South America"}, + "KI": {"code": "OC", "name": "Oceania"}, + "KH": {"code": "AS", "name": "Asia"}, + "KN": {"code": "NA", "name": "North America"}, + "KM": {"code": "AF", "name": "Africa"}, + "ST": {"code": "AF", "name": "Africa"}, + "SK": {"code": "EU", "name": "Europe"}, + "KR": {"code": "AS", "name": "Asia"}, + "SI": {"code": "EU", "name": "Europe"}, + "KP": {"code": "AS", "name": "Asia"}, + "KW": {"code": "AS", "name": "Asia"}, + "SN": {"code": "AF", "name": "Africa"}, + "SM": {"code": "EU", "name": "Europe"}, + "SL": {"code": "AF", "name": "Africa"}, + "SC": {"code": "AF", "name": "Africa"}, + "KZ": {"code": "AS", "name": "Asia"}, + "KY": {"code": "NA", "name": "North America"}, + "SG": {"code": "AS", "name": "Asia"}, + "SE": {"code": "EU", "name": "Europe"}, + "SD": {"code": "AF", "name": "Africa"}, + "DO": {"code": "NA", "name": "North America"}, + "DM": {"code": "NA", "name": "North America"}, + "DJ": {"code": "AF", "name": "Africa"}, + "DK": {"code": "EU", "name": "Europe"}, + "VG": {"code": "NA", "name": "North America"}, + "DE": {"code": "EU", "name": "Europe"}, + "YE": {"code": "AS", "name": "Asia"}, + "DZ": {"code": "AF", "name": "Africa"}, + "US": {"code": "NA", "name": "North America"}, + "UY": {"code": "SA", "name": "South America"}, + "YT": {"code": "AF", "name": "Africa"}, + "UM": {"code": "OC", "name": "Oceania"}, + "LB": {"code": "AS", "name": "Asia"}, + "LC": {"code": "NA", "name": "North America"}, + "LA": {"code": "AS", "name": "Asia"}, + "TV": {"code": "OC", "name": "Oceania"}, + "TW": {"code": "AS", "name": "Asia"}, + "TT": {"code": "NA", "name": "North America"}, + "TR": {"code": "AS", "name": "Asia"}, + "LK": {"code": "AS", "name": "Asia"}, + "LI": {"code": "EU", "name": "Europe"}, + "LV": {"code": "EU", "name": "Europe"}, + "TO": {"code": "OC", "name": "Oceania"}, + "LT": {"code": "EU", "name": "Europe"}, + "LU": {"code": "EU", "name": "Europe"}, + "LR": {"code": "AF", "name": "Africa"}, + "LS": {"code": "AF", "name": "Africa"}, + "TH": {"code": "AS", "name": "Asia"}, + "TF": {"code": "AN", "name": "Antarctica"}, + "TG": {"code": "AF", "name": "Africa"}, + "TD": {"code": "AF", "name": "Africa"}, + "TC": {"code": "NA", "name": "North America"}, + "LY": {"code": "AF", "name": "Africa"}, + "VA": {"code": "EU", "name": "Europe"}, + "VC": {"code": "NA", "name": "North America"}, + "AE": {"code": "AS", "name": "Asia"}, + "AD": {"code": "EU", "name": "Europe"}, + "AG": {"code": "NA", "name": "North America"}, + "AF": {"code": "AS", "name": "Asia"}, + "AI": {"code": "NA", "name": "North America"}, + "VI": {"code": "NA", "name": "North America"}, + "IS": {"code": "EU", "name": "Europe"}, + "IR": {"code": "AS", "name": "Asia"}, + "AM": {"code": "AS", "name": "Asia"}, + "AL": {"code": "EU", "name": "Europe"}, + "AO": {"code": "AF", "name": "Africa"}, + "AQ": {"code": "AN", "name": "Antarctica"}, + "AS": {"code": "OC", "name": "Oceania"}, + "AR": {"code": "SA", "name": "South America"}, + "AU": {"code": "OC", "name": "Oceania"}, + "AT": {"code": "EU", "name": "Europe"}, + "AW": {"code": "NA", "name": "North America"}, + "IN": {"code": "AS", "name": "Asia"}, + "AX": {"code": "EU", "name": "Europe"}, + "AZ": {"code": "AS", "name": "Asia"}, + "IE": {"code": "EU", "name": "Europe"}, + "ID": {"code": "AS", "name": "Asia"}, + "UA": {"code": "EU", "name": "Europe"}, + "QA": {"code": "AS", "name": "Asia"}, + "MZ": {"code": "AF", "name": "Africa"}, +} + +# Used to transform incoming responses with country abbreviations into the full +# expanded country name, e.g. "PK" -> "Pakistan". +countries = { + "BD": "Bangladesh", + "BE": "Belgium", + "BF": "Burkina Faso", + "BG": "Bulgaria", + "BA": "Bosnia and Herzegovina", + "BB": "Barbados", + "WF": "Wallis and Futuna", + "BL": "Saint Barthelemy", + "BM": "Bermuda", + "BN": "Brunei", + "BO": "Bolivia", + "BH": "Bahrain", + "BI": "Burundi", + "BJ": "Benin", + "BT": "Bhutan", + "JM": "Jamaica", + "BV": "Bouvet Island", + "BW": "Botswana", + "WS": "Samoa", + "BQ": "Bonaire, Saint Eustatius and Saba ", + "BR": "Brazil", + "BS": "Bahamas", + "JE": "Jersey", + "BY": "Belarus", + "BZ": "Belize", + "RU": "Russia", + "RW": "Rwanda", + "RS": "Serbia", + "TL": "East Timor", + "RE": "Reunion", + "TM": "Turkmenistan", + "TJ": "Tajikistan", + "RO": "Romania", + "TK": "Tokelau", + "GW": "Guinea-Bissau", + "GU": "Guam", + "GT": "Guatemala", + "GS": "South Georgia and the South Sandwich Islands", + "GR": "Greece", + "GQ": "Equatorial Guinea", + "GP": "Guadeloupe", + "JP": "Japan", + "GY": "Guyana", + "GG": "Guernsey", + "GF": "French Guiana", + "GE": "Georgia", + "GD": "Grenada", + "GB": "United Kingdom", + "GA": "Gabon", + "SV": "El Salvador", + "GN": "Guinea", + "GM": "Gambia", + "GL": "Greenland", + "GI": "Gibraltar", + "GH": "Ghana", + "OM": "Oman", + "TN": "Tunisia", + "JO": "Jordan", + "HR": "Croatia", + "HT": "Haiti", + "HU": "Hungary", + "HK": "Hong Kong", + "HN": "Honduras", + "HM": "Heard Island and McDonald Islands", + "VE": "Venezuela", + "PR": "Puerto Rico", + "PS": "Palestinian Territory", + "PW": "Palau", + "PT": "Portugal", + "SJ": "Svalbard and Jan Mayen", + "PY": "Paraguay", + "IQ": "Iraq", + "PA": "Panama", + "PF": "French Polynesia", + "PG": "Papua New Guinea", + "PE": "Peru", + "PK": "Pakistan", + "PH": "Philippines", + "PN": "Pitcairn", + "PL": "Poland", + "PM": "Saint Pierre and Miquelon", + "ZM": "Zambia", + "EH": "Western Sahara", + "EE": "Estonia", + "EG": "Egypt", + "ZA": "South Africa", + "EC": "Ecuador", + "IT": "Italy", + "VN": "Vietnam", + "SB": "Solomon Islands", + "ET": "Ethiopia", + "SO": "Somalia", + "ZW": "Zimbabwe", + "SA": "Saudi Arabia", + "ES": "Spain", + "ER": "Eritrea", + "ME": "Montenegro", + "MD": "Moldova", + "MG": "Madagascar", + "MF": "Saint Martin", + "MA": "Morocco", + "MC": "Monaco", + "UZ": "Uzbekistan", + "MM": "Myanmar", + "ML": "Mali", + "MO": "Macao", + "MN": "Mongolia", + "MH": "Marshall Islands", + "MK": "Macedonia", + "MU": "Mauritius", + "MT": "Malta", + "MW": "Malawi", + "MV": "Maldives", + "MQ": "Martinique", + "MP": "Northern Mariana Islands", + "MS": "Montserrat", + "MR": "Mauritania", + "IM": "Isle of Man", + "UG": "Uganda", + "TZ": "Tanzania", + "MY": "Malaysia", + "MX": "Mexico", + "IL": "Israel", + "FR": "France", + "IO": "British Indian Ocean Territory", + "SH": "Saint Helena", + "FI": "Finland", + "FJ": "Fiji", + "FK": "Falkland Islands", + "FM": "Micronesia", + "FO": "Faroe Islands", + "NI": "Nicaragua", + "NL": "Netherlands", + "NO": "Norway", + "NA": "Namibia", + "VU": "Vanuatu", + "NC": "New Caledonia", + "NE": "Niger", + "NF": "Norfolk Island", + "NG": "Nigeria", + "NZ": "New Zealand", + "NP": "Nepal", + "NR": "Nauru", + "NU": "Niue", + "CK": "Cook Islands", + "XK": "Kosovo", + "CI": "Ivory Coast", + "CH": "Switzerland", + "CO": "Colombia", + "CN": "China", + "CM": "Cameroon", + "CL": "Chile", + "CC": "Cocos Islands", + "CA": "Canada", + "CG": "Republic of the Congo", + "CF": "Central African Republic", + "CD": "Democratic Republic of the Congo", + "CZ": "Czech Republic", + "CY": "Cyprus", + "CX": "Christmas Island", + "CR": "Costa Rica", + "CW": "Curacao", + "CV": "Cape Verde", + "CU": "Cuba", + "SZ": "Swaziland", + "SY": "Syria", + "SX": "Sint Maarten", + "KG": "Kyrgyzstan", + "KE": "Kenya", + "SS": "South Sudan", + "SR": "Suriname", + "KI": "Kiribati", + "KH": "Cambodia", + "KN": "Saint Kitts and Nevis", + "KM": "Comoros", + "ST": "Sao Tome and Principe", + "SK": "Slovakia", + "KR": "South Korea", + "SI": "Slovenia", + "KP": "North Korea", + "KW": "Kuwait", + "SN": "Senegal", + "SM": "San Marino", + "SL": "Sierra Leone", + "SC": "Seychelles", + "KZ": "Kazakhstan", + "KY": "Cayman Islands", + "SG": "Singapore", + "SE": "Sweden", + "SD": "Sudan", + "DO": "Dominican Republic", + "DM": "Dominica", + "DJ": "Djibouti", + "DK": "Denmark", + "VG": "British Virgin Islands", + "DE": "Germany", + "YE": "Yemen", + "DZ": "Algeria", + "US": "United States", + "UY": "Uruguay", + "YT": "Mayotte", + "UM": "United States Minor Outlying Islands", + "LB": "Lebanon", + "LC": "Saint Lucia", + "LA": "Laos", + "TV": "Tuvalu", + "TW": "Taiwan", + "TT": "Trinidad and Tobago", + "TR": "Turkey", + "LK": "Sri Lanka", + "LI": "Liechtenstein", + "LV": "Latvia", + "TO": "Tonga", + "LT": "Lithuania", + "LU": "Luxembourg", + "LR": "Liberia", + "LS": "Lesotho", + "TH": "Thailand", + "TF": "French Southern Territories", + "TG": "Togo", + "TD": "Chad", + "TC": "Turks and Caicos Islands", + "LY": "Libya", + "VA": "Vatican", + "VC": "Saint Vincent and the Grenadines", + "AE": "United Arab Emirates", + "AD": "Andorra", + "AG": "Antigua and Barbuda", + "AF": "Afghanistan", + "AI": "Anguilla", + "VI": "U.S. Virgin Islands", + "IS": "Iceland", + "IR": "Iran", + "AM": "Armenia", + "AL": "Albania", + "AO": "Angola", + "AQ": "Antarctica", + "AS": "American Samoa", + "AR": "Argentina", + "AU": "Australia", + "AT": "Austria", + "AW": "Aruba", + "IN": "India", + "AX": "Aland Islands", + "AZ": "Azerbaijan", + "IE": "Ireland", + "ID": "Indonesia", + "UA": "Ukraine", + "QA": "Qatar", + "MZ": "Mozambique", +} + +countries_currencies = { + "AD": {"code": "EUR", "symbol": "โ‚ฌ"}, + "AE": {"code": "AED", "symbol": "ุฏ.ุฅ"}, + "AF": {"code": "AFN", "symbol": "ุ‹"}, + "AG": {"code": "XCD", "symbol": "$"}, + "AI": {"code": "XCD", "symbol": "$"}, + "AL": {"code": "ALL", "symbol": "L"}, + "AM": {"code": "AMD", "symbol": "ึ"}, + "AO": {"code": "AOA", "symbol": "Kz"}, + "AQ": {"code": "", "symbol": "$"}, + "AR": {"code": "ARS", "symbol": "$"}, + "AS": {"code": "USD", "symbol": "$"}, + "AT": {"code": "EUR", "symbol": "โ‚ฌ"}, + "AU": {"code": "AUD", "symbol": "$"}, + "AW": {"code": "AWG", "symbol": "ฦ’"}, + "AX": {"code": "EUR", "symbol": "โ‚ฌ"}, + "AZ": {"code": "AZN", "symbol": "โ‚ผ"}, + "BA": {"code": "BAM", "symbol": "KM"}, + "BB": {"code": "BBD", "symbol": "$"}, + "BD": {"code": "BDT", "symbol": "เงณ"}, + "BE": {"code": "EUR", "symbol": "โ‚ฌ"}, + "BF": {"code": "XOF", "symbol": "CFA"}, + "BG": {"code": "BGN", "symbol": "ะปะฒ"}, + "BH": {"code": "BHD", "symbol": ".ุฏ.ุจ"}, + "BI": {"code": "BIF", "symbol": "FBu"}, + "BJ": {"code": "XOF", "symbol": "CFA"}, + "BL": {"code": "EUR", "symbol": "โ‚ฌ"}, + "BM": {"code": "BMD", "symbol": "$"}, + "BN": {"code": "BND", "symbol": "$"}, + "BO": {"code": "BOB", "symbol": "$b"}, + "BQ": {"code": "USD", "symbol": "$"}, + "BR": {"code": "BRL", "symbol": "R$"}, + "BS": {"code": "BSD", "symbol": "$"}, + "BT": {"code": "BTN", "symbol": "Nu."}, + "BV": {"code": "NOK", "symbol": "kr"}, + "BW": {"code": "BWP", "symbol": "P"}, + "BY": {"code": "BYR", "symbol": "Br"}, + "BZ": {"code": "BZD", "symbol": "BZ$"}, + "CA": {"code": "CAD", "symbol": "$"}, + "CC": {"code": "AUD", "symbol": "$"}, + "CD": {"code": "CDF", "symbol": "FC"}, + "CF": {"code": "XAF", "symbol": "FCFA"}, + "CG": {"code": "XAF", "symbol": "FCFA"}, + "CH": {"code": "CHF", "symbol": "CHF"}, + "CI": {"code": "XOF", "symbol": "CFA"}, + "CK": {"code": "NZD", "symbol": "$"}, + "CL": {"code": "CLP", "symbol": "$"}, + "CM": {"code": "XAF", "symbol": "FCFA"}, + "CN": {"code": "CNY", "symbol": "ยฅ"}, + "CO": {"code": "COP", "symbol": "$"}, + "CR": {"code": "CRC", "symbol": "โ‚ก"}, + "CU": {"code": "CUP", "symbol": "โ‚ฑ"}, + "CV": {"code": "CVE", "symbol": "$"}, + "CW": {"code": "ANG", "symbol": "ฦ’"}, + "CX": {"code": "AUD", "symbol": "$"}, + "CY": {"code": "EUR", "symbol": "โ‚ฌ"}, + "CZ": {"code": "CZK", "symbol": "Kฤ"}, + "DE": {"code": "EUR", "symbol": "โ‚ฌ"}, + "DJ": {"code": "DJF", "symbol": "Fdj"}, + "DK": {"code": "DKK", "symbol": "kr"}, + "DM": {"code": "XCD", "symbol": "$"}, + "DO": {"code": "DOP", "symbol": "RD$"}, + "DZ": {"code": "DZD", "symbol": "ุฏุฌ"}, + "EC": {"code": "USD", "symbol": "$"}, + "EE": {"code": "EUR", "symbol": "โ‚ฌ"}, + "EG": {"code": "EGP", "symbol": "ยฃ"}, + "EH": {"code": "MAD", "symbol": "MAD"}, + "ER": {"code": "ERN", "symbol": "Nfk"}, + "ES": {"code": "EUR", "symbol": "โ‚ฌ"}, + "ET": {"code": "ETB", "symbol": "Br"}, + "FI": {"code": "EUR", "symbol": "โ‚ฌ"}, + "FJ": {"code": "FJD", "symbol": "$"}, + "FK": {"code": "FKP", "symbol": "ยฃ"}, + "FM": {"code": "USD", "symbol": "$"}, + "FO": {"code": "DKK", "symbol": "kr"}, + "FR": {"code": "EUR", "symbol": "โ‚ฌ"}, + "GA": {"code": "XAF", "symbol": "FCFA"}, + "GB": {"code": "GBP", "symbol": "ยฃ"}, + "GD": {"code": "XCD", "symbol": "$"}, + "GE": {"code": "GEL", "symbol": "แƒš"}, + "GF": {"code": "EUR", "symbol": "โ‚ฌ"}, + "GG": {"code": "GBP", "symbol": "ยฃ"}, + "GH": {"code": "GHS", "symbol": "GHโ‚ต"}, + "GI": {"code": "GIP", "symbol": "ยฃ"}, + "GL": {"code": "DKK", "symbol": "kr"}, + "GM": {"code": "GMD", "symbol": "D"}, + "GN": {"code": "GNF", "symbol": "FG"}, + "GP": {"code": "EUR", "symbol": "โ‚ฌ"}, + "GQ": {"code": "XAF", "symbol": "FCFA"}, + "GR": {"code": "EUR", "symbol": "โ‚ฌ"}, + "GS": {"code": "GBP", "symbol": "ยฃ"}, + "GT": {"code": "GTQ", "symbol": "Q"}, + "GU": {"code": "USD", "symbol": "$"}, + "GW": {"code": "XOF", "symbol": "CFA"}, + "GY": {"code": "GYD", "symbol": "$"}, + "HK": {"code": "HKD", "symbol": "$"}, + "HM": {"code": "AUD", "symbol": "$"}, + "HN": {"code": "HNL", "symbol": "L"}, + "HR": {"code": "HRK", "symbol": "kn"}, + "HT": {"code": "HTG", "symbol": "G"}, + "HU": {"code": "HUF", "symbol": "Ft"}, + "ID": {"code": "IDR", "symbol": "Rp"}, + "IE": {"code": "EUR", "symbol": "โ‚ฌ"}, + "IL": {"code": "ILS", "symbol": "โ‚ช"}, + "IM": {"code": "GBP", "symbol": "ยฃ"}, + "IN": {"code": "INR", "symbol": "โ‚น"}, + "IO": {"code": "USD", "symbol": "$"}, + "IQ": {"code": "IQD", "symbol": "ุน.ุฏ"}, + "IR": {"code": "IRR", "symbol": "๏ทผ"}, + "IS": {"code": "ISK", "symbol": "kr"}, + "IT": {"code": "EUR", "symbol": "โ‚ฌ"}, + "JE": {"code": "GBP", "symbol": "ยฃ"}, + "JM": {"code": "JMD", "symbol": "J$"}, + "JO": {"code": "JOD", "symbol": "JD"}, + "JP": {"code": "JPY", "symbol": "ยฅ"}, + "KE": {"code": "KES", "symbol": "KSh"}, + "KG": {"code": "KGS", "symbol": "ะปะฒ"}, + "KH": {"code": "KHR", "symbol": "แŸ›"}, + "KI": {"code": "AUD", "symbol": "$"}, + "KM": {"code": "KMF", "symbol": "CF"}, + "KN": {"code": "XCD", "symbol": "$"}, + "KP": {"code": "KPW", "symbol": "โ‚ฉ"}, + "KR": {"code": "KRW", "symbol": "โ‚ฉ"}, + "KW": {"code": "KWD", "symbol": "KD"}, + "KY": {"code": "KYD", "symbol": "$"}, + "KZ": {"code": "KZT", "symbol": "โ‚ธ"}, + "LA": {"code": "LAK", "symbol": "โ‚ญ"}, + "LB": {"code": "LBP", "symbol": "ยฃ"}, + "LC": {"code": "XCD", "symbol": "$"}, + "LI": {"code": "CHF", "symbol": "CHF"}, + "LK": {"code": "LKR", "symbol": "โ‚จ"}, + "LR": {"code": "LRD", "symbol": "$"}, + "LS": {"code": "LSL", "symbol": "M"}, + "LT": {"code": "LTL", "symbol": "Lt"}, + "LU": {"code": "EUR", "symbol": "โ‚ฌ"}, + "LV": {"code": "EUR", "symbol": "โ‚ฌ"}, + "LY": {"code": "LYD", "symbol": "LD"}, + "MA": {"code": "MAD", "symbol": "MAD"}, + "MC": {"code": "EUR", "symbol": "โ‚ฌ"}, + "MD": {"code": "MDL", "symbol": "lei"}, + "ME": {"code": "EUR", "symbol": "โ‚ฌ"}, + "MF": {"code": "EUR", "symbol": "โ‚ฌ"}, + "MG": {"code": "MGA", "symbol": "Ar"}, + "MH": {"code": "USD", "symbol": "$"}, + "MK": {"code": "MKD", "symbol": "ะดะตะฝ"}, + "ML": {"code": "XOF", "symbol": "CFA"}, + "MM": {"code": "MMK", "symbol": "K"}, + "MN": {"code": "MNT", "symbol": "โ‚ฎ"}, + "MO": {"code": "MOP", "symbol": "MOP$"}, + "MP": {"code": "USD", "symbol": "$"}, + "MQ": {"code": "EUR", "symbol": "โ‚ฌ"}, + "MR": {"code": "MRO", "symbol": "UM"}, + "MS": {"code": "XCD", "symbol": "$"}, + "MT": {"code": "EUR", "symbol": "โ‚ฌ"}, + "MU": {"code": "MUR", "symbol": "โ‚จ"}, + "MV": {"code": "MVR", "symbol": "Rf"}, + "MW": {"code": "MWK", "symbol": "MK"}, + "MX": {"code": "MXN", "symbol": "$"}, + "MY": {"code": "MYR", "symbol": "RM"}, + "MZ": {"code": "MZN", "symbol": "MT"}, + "NA": {"code": "NAD", "symbol": "$"}, + "NC": {"code": "XPF", "symbol": "โ‚ฃ"}, + "NE": {"code": "XOF", "symbol": "CFA"}, + "NF": {"code": "AUD", "symbol": "$"}, + "NG": {"code": "NGN", "symbol": "โ‚ฆ"}, + "NI": {"code": "NIO", "symbol": "C$"}, + "NL": {"code": "EUR", "symbol": "โ‚ฌ"}, + "NO": {"code": "NOK", "symbol": "kr"}, + "NP": {"code": "NPR", "symbol": "โ‚จ"}, + "NR": {"code": "AUD", "symbol": "$"}, + "NU": {"code": "NZD", "symbol": "$"}, + "NZ": {"code": "NZD", "symbol": "$"}, + "OM": {"code": "OMR", "symbol": "๏ทผ"}, + "PA": {"code": "PAB", "symbol": "B/."}, + "PE": {"code": "PEN", "symbol": "S/."}, + "PF": {"code": "XPF", "symbol": "โ‚ฃ"}, + "PG": {"code": "PGK", "symbol": "K"}, + "PH": {"code": "PHP", "symbol": "โ‚ฑ"}, + "PK": {"code": "PKR", "symbol": "โ‚จ"}, + "PL": {"code": "PLN", "symbol": "zล‚"}, + "PM": {"code": "EUR", "symbol": "โ‚ฌ"}, + "PN": {"code": "NZD", "symbol": "$"}, + "PR": {"code": "USD", "symbol": "$"}, + "PS": {"code": "ILS", "symbol": "โ‚ช"}, + "PT": {"code": "EUR", "symbol": "โ‚ฌ"}, + "PW": {"code": "USD", "symbol": "$"}, + "PY": {"code": "PYG", "symbol": "Gs"}, + "QA": {"code": "QAR", "symbol": "๏ทผ"}, + "RE": {"code": "EUR", "symbol": "โ‚ฌ"}, + "RO": {"code": "RON", "symbol": "lei"}, + "RS": {"code": "RSD", "symbol": "ะ”ะธะฝ."}, + "RU": {"code": "RUB", "symbol": "โ‚ฝ"}, + "RW": {"code": "RWF", "symbol": "Rโ‚ฃ"}, + "SA": {"code": "SAR", "symbol": "๏ทผ"}, + "SB": {"code": "SBD", "symbol": "$"}, + "SC": {"code": "SCR", "symbol": "โ‚จ"}, + "SD": {"code": "SDG", "symbol": "ุฌ.ุณ."}, + "SE": {"code": "SEK", "symbol": "kr"}, + "SG": {"code": "SGD", "symbol": "S$"}, + "SH": {"code": "SHP", "symbol": "ยฃ"}, + "SI": {"code": "EUR", "symbol": "โ‚ฌ"}, + "SJ": {"code": "NOK", "symbol": "kr"}, + "SK": {"code": "EUR", "symbol": "โ‚ฌ"}, + "SL": {"code": "SLL", "symbol": "Le"}, + "SM": {"code": "EUR", "symbol": "โ‚ฌ"}, + "SN": {"code": "XOF", "symbol": "CFA"}, + "SO": {"code": "SOS", "symbol": "S"}, + "SR": {"code": "SRD", "symbol": "$"}, + "SS": {"code": "SSP", "symbol": "ยฃ"}, + "ST": {"code": "STD", "symbol": "Db"}, + "SV": {"code": "USD", "symbol": "$"}, + "SX": {"code": "ANG", "symbol": "ฦ’"}, + "SY": {"code": "SYP", "symbol": "ยฃ"}, + "SZ": {"code": "SZL", "symbol": "E"}, + "TC": {"code": "USD", "symbol": "$"}, + "TD": {"code": "XAF", "symbol": "FCFA"}, + "TF": {"code": "EUR", "symbol": "โ‚ฌ"}, + "TG": {"code": "XOF", "symbol": "CFA"}, + "TH": {"code": "THB", "symbol": "เธฟ"}, + "TJ": {"code": "TJS", "symbol": "SM"}, + "TK": {"code": "NZD", "symbol": "$"}, + "TL": {"code": "USD", "symbol": "$"}, + "TM": {"code": "TMT", "symbol": "T"}, + "TN": {"code": "TND", "symbol": "ุฏ.ุช"}, + "TO": {"code": "TOP", "symbol": "T$"}, + "TR": {"code": "TRY", "symbol": "โ‚บ"}, + "TT": {"code": "TTD", "symbol": "TT$"}, + "TV": {"code": "AUD", "symbol": "$"}, + "TW": {"code": "TWD", "symbol": "NT$"}, + "TZ": {"code": "TZS", "symbol": "TSh"}, + "UA": {"code": "UAH", "symbol": "โ‚ด"}, + "UG": {"code": "UGX", "symbol": "USh"}, + "UM": {"code": "USD", "symbol": "$"}, + "US": {"code": "USD", "symbol": "$"}, + "UY": {"code": "UYU", "symbol": "$U"}, + "UZ": {"code": "UZS", "symbol": "ะปะฒ"}, + "VA": {"code": "EUR", "symbol": "โ‚ฌ"}, + "VC": {"code": "XCD", "symbol": "$"}, + "VE": {"code": "VEF", "symbol": "Bs"}, + "VG": {"code": "USD", "symbol": "$"}, + "VI": {"code": "USD", "symbol": "$"}, + "VN": {"code": "VND", "symbol": "โ‚ซ"}, + "VU": {"code": "VUV", "symbol": "VT"}, + "WF": {"code": "XPF", "symbol": "โ‚ฃ"}, + "WS": {"code": "WST", "symbol": "WS$"}, + "XK": {"code": "EUR", "symbol": "โ‚ฌ"}, + "YE": {"code": "YER", "symbol": "๏ทผ"}, + "YT": {"code": "EUR", "symbol": "โ‚ฌ"}, + "ZA": {"code": "ZAR", "symbol": "R"}, + "ZM": {"code": "ZMK", "symbol": "ZK"}, + "ZW": {"code": "ZWL", "symbol": "$"}, +} + +eu_countries = [ + "IE", + "AT", + "LT", + "LU", + "LV", + "DE", + "DK", + "SE", + "SI", + "SK", + "CZ", + "CY", + "NL", + "FI", + "FR", + "MT", + "ES", + "IT", + "EE", + "PL", + "PT", + "HU", + "HR", + "GR", + "RO", + "BG", + "BE", +] +countries_flags = { + "AD": {"emoji": "๐Ÿ‡ฆ๐Ÿ‡ฉ", "unicode": "U+1F1E6 U+1F1E9"}, + "AE": {"emoji": "๐Ÿ‡ฆ๐Ÿ‡ช", "unicode": "U+1F1E6 U+1F1EA"}, + "AF": {"emoji": "๐Ÿ‡ฆ๐Ÿ‡ซ", "unicode": "U+1F1E6 U+1F1EB"}, + "AG": {"emoji": "๐Ÿ‡ฆ๐Ÿ‡ฌ", "unicode": "U+1F1E6 U+1F1EC"}, + "AI": {"emoji": "๐Ÿ‡ฆ๐Ÿ‡ฎ", "unicode": "U+1F1E6 U+1F1EE"}, + "AL": {"emoji": "๐Ÿ‡ฆ๐Ÿ‡ฑ", "unicode": "U+1F1E6 U+1F1F1"}, + "AM": {"emoji": "๐Ÿ‡ฆ๐Ÿ‡ฒ", "unicode": "U+1F1E6 U+1F1F2"}, + "AO": {"emoji": "๐Ÿ‡ฆ๐Ÿ‡ด", "unicode": "U+1F1E6 U+1F1F4"}, + "AQ": {"emoji": "๐Ÿ‡ฆ๐Ÿ‡ถ", "unicode": "U+1F1E6 U+1F1F6"}, + "AR": {"emoji": "๐Ÿ‡ฆ๐Ÿ‡ท", "unicode": "U+1F1E6 U+1F1F7"}, + "AS": {"emoji": "๐Ÿ‡ฆ๐Ÿ‡ธ", "unicode": "U+1F1E6 U+1F1F8"}, + "AT": {"emoji": "๐Ÿ‡ฆ๐Ÿ‡น", "unicode": "U+1F1E6 U+1F1F9"}, + "AU": {"emoji": "๐Ÿ‡ฆ๐Ÿ‡บ", "unicode": "U+1F1E6 U+1F1FA"}, + "AW": {"emoji": "๐Ÿ‡ฆ๐Ÿ‡ผ", "unicode": "U+1F1E6 U+1F1FC"}, + "AX": {"emoji": "๐Ÿ‡ฆ๐Ÿ‡ฝ", "unicode": "U+1F1E6 U+1F1FD"}, + "AZ": {"emoji": "๐Ÿ‡ฆ๐Ÿ‡ฟ", "unicode": "U+1F1E6 U+1F1FF"}, + "BA": {"emoji": "๐Ÿ‡ง๐Ÿ‡ฆ", "unicode": "U+1F1E7 U+1F1E6"}, + "BB": {"emoji": "๐Ÿ‡ง๐Ÿ‡ง", "unicode": "U+1F1E7 U+1F1E7"}, + "BD": {"emoji": "๐Ÿ‡ง๐Ÿ‡ฉ", "unicode": "U+1F1E7 U+1F1E9"}, + "BE": {"emoji": "๐Ÿ‡ง๐Ÿ‡ช", "unicode": "U+1F1E7 U+1F1EA"}, + "BF": {"emoji": "๐Ÿ‡ง๐Ÿ‡ซ", "unicode": "U+1F1E7 U+1F1EB"}, + "BG": {"emoji": "๐Ÿ‡ง๐Ÿ‡ฌ", "unicode": "U+1F1E7 U+1F1EC"}, + "BH": {"emoji": "๐Ÿ‡ง๐Ÿ‡ญ", "unicode": "U+1F1E7 U+1F1ED"}, + "BI": {"emoji": "๐Ÿ‡ง๐Ÿ‡ฎ", "unicode": "U+1F1E7 U+1F1EE"}, + "BJ": {"emoji": "๐Ÿ‡ง๐Ÿ‡ฏ", "unicode": "U+1F1E7 U+1F1EF"}, + "BL": {"emoji": "๐Ÿ‡ง๐Ÿ‡ฑ", "unicode": "U+1F1E7 U+1F1F1"}, + "BM": {"emoji": "๐Ÿ‡ง๐Ÿ‡ฒ", "unicode": "U+1F1E7 U+1F1F2"}, + "BN": {"emoji": "๐Ÿ‡ง๐Ÿ‡ณ", "unicode": "U+1F1E7 U+1F1F3"}, + "BO": {"emoji": "๐Ÿ‡ง๐Ÿ‡ด", "unicode": "U+1F1E7 U+1F1F4"}, + "BQ": {"emoji": "๐Ÿ‡ง๐Ÿ‡ถ", "unicode": "U+1F1E7 U+1F1F6"}, + "BR": {"emoji": "๐Ÿ‡ง๐Ÿ‡ท", "unicode": "U+1F1E7 U+1F1F7"}, + "BS": {"emoji": "๐Ÿ‡ง๐Ÿ‡ธ", "unicode": "U+1F1E7 U+1F1F8"}, + "BT": {"emoji": "๐Ÿ‡ง๐Ÿ‡น", "unicode": "U+1F1E7 U+1F1F9"}, + "BV": {"emoji": "๐Ÿ‡ง๐Ÿ‡ป", "unicode": "U+1F1E7 U+1F1FB"}, + "BW": {"emoji": "๐Ÿ‡ง๐Ÿ‡ผ", "unicode": "U+1F1E7 U+1F1FC"}, + "BY": {"emoji": "๐Ÿ‡ง๐Ÿ‡พ", "unicode": "U+1F1E7 U+1F1FE"}, + "BZ": {"emoji": "๐Ÿ‡ง๐Ÿ‡ฟ", "unicode": "U+1F1E7 U+1F1FF"}, + "CA": {"emoji": "๐Ÿ‡จ๐Ÿ‡ฆ", "unicode": "U+1F1E8 U+1F1E6"}, + "CC": {"emoji": "๐Ÿ‡จ๐Ÿ‡จ", "unicode": "U+1F1E8 U+1F1E8"}, + "CD": {"emoji": "๐Ÿ‡จ๐Ÿ‡ฉ", "unicode": "U+1F1E8 U+1F1E9"}, + "CF": {"emoji": "๐Ÿ‡จ๐Ÿ‡ซ", "unicode": "U+1F1E8 U+1F1EB"}, + "CG": {"emoji": "๐Ÿ‡จ๐Ÿ‡ฌ", "unicode": "U+1F1E8 U+1F1EC"}, + "CH": {"emoji": "๐Ÿ‡จ๐Ÿ‡ญ", "unicode": "U+1F1E8 U+1F1ED"}, + "CI": {"emoji": "๐Ÿ‡จ๐Ÿ‡ฎ", "unicode": "U+1F1E8 U+1F1EE"}, + "CK": {"emoji": "๐Ÿ‡จ๐Ÿ‡ฐ", "unicode": "U+1F1E8 U+1F1F0"}, + "CL": {"emoji": "๐Ÿ‡จ๐Ÿ‡ฑ", "unicode": "U+1F1E8 U+1F1F1"}, + "CM": {"emoji": "๐Ÿ‡จ๐Ÿ‡ฒ", "unicode": "U+1F1E8 U+1F1F2"}, + "CN": {"emoji": "๐Ÿ‡จ๐Ÿ‡ณ", "unicode": "U+1F1E8 U+1F1F3"}, + "CO": {"emoji": "๐Ÿ‡จ๐Ÿ‡ด", "unicode": "U+1F1E8 U+1F1F4"}, + "CR": {"emoji": "๐Ÿ‡จ๐Ÿ‡ท", "unicode": "U+1F1E8 U+1F1F7"}, + "CU": {"emoji": "๐Ÿ‡จ๐Ÿ‡บ", "unicode": "U+1F1E8 U+1F1FA"}, + "CV": {"emoji": "๐Ÿ‡จ๐Ÿ‡ป", "unicode": "U+1F1E8 U+1F1FB"}, + "CW": {"emoji": "๐Ÿ‡จ๐Ÿ‡ผ", "unicode": "U+1F1E8 U+1F1FC"}, + "CX": {"emoji": "๐Ÿ‡จ๐Ÿ‡ฝ", "unicode": "U+1F1E8 U+1F1FD"}, + "CY": {"emoji": "๐Ÿ‡จ๐Ÿ‡พ", "unicode": "U+1F1E8 U+1F1FE"}, + "CZ": {"emoji": "๐Ÿ‡จ๐Ÿ‡ฟ", "unicode": "U+1F1E8 U+1F1FF"}, + "DE": {"emoji": "๐Ÿ‡ฉ๐Ÿ‡ช", "unicode": "U+1F1E9 U+1F1EA"}, + "DJ": {"emoji": "๐Ÿ‡ฉ๐Ÿ‡ฏ", "unicode": "U+1F1E9 U+1F1EF"}, + "DK": {"emoji": "๐Ÿ‡ฉ๐Ÿ‡ฐ", "unicode": "U+1F1E9 U+1F1F0"}, + "DM": {"emoji": "๐Ÿ‡ฉ๐Ÿ‡ฒ", "unicode": "U+1F1E9 U+1F1F2"}, + "DO": {"emoji": "๐Ÿ‡ฉ๐Ÿ‡ด", "unicode": "U+1F1E9 U+1F1F4"}, + "DZ": {"emoji": "๐Ÿ‡ฉ๐Ÿ‡ฟ", "unicode": "U+1F1E9 U+1F1FF"}, + "EC": {"emoji": "๐Ÿ‡ช๐Ÿ‡จ", "unicode": "U+1F1EA U+1F1E8"}, + "EE": {"emoji": "๐Ÿ‡ช๐Ÿ‡ช", "unicode": "U+1F1EA U+1F1EA"}, + "EG": {"emoji": "๐Ÿ‡ช๐Ÿ‡ฌ", "unicode": "U+1F1EA U+1F1EC"}, + "EH": {"emoji": "๐Ÿ‡ช๐Ÿ‡ญ", "unicode": "U+1F1EA U+1F1ED"}, + "ER": {"emoji": "๐Ÿ‡ช๐Ÿ‡ท", "unicode": "U+1F1EA U+1F1F7"}, + "ES": {"emoji": "๐Ÿ‡ช๐Ÿ‡ธ", "unicode": "U+1F1EA U+1F1F8"}, + "ET": {"emoji": "๐Ÿ‡ช๐Ÿ‡น", "unicode": "U+1F1EA U+1F1F9"}, + "FI": {"emoji": "๐Ÿ‡ซ๐Ÿ‡ฎ", "unicode": "U+1F1EB U+1F1EE"}, + "FJ": {"emoji": "๐Ÿ‡ซ๐Ÿ‡ฏ", "unicode": "U+1F1EB U+1F1EF"}, + "FK": {"emoji": "๐Ÿ‡ซ๐Ÿ‡ฐ", "unicode": "U+1F1EB U+1F1F0"}, + "FM": {"emoji": "๐Ÿ‡ซ๐Ÿ‡ฒ", "unicode": "U+1F1EB U+1F1F2"}, + "FO": {"emoji": "๐Ÿ‡ซ๐Ÿ‡ด", "unicode": "U+1F1EB U+1F1F4"}, + "FR": {"emoji": "๐Ÿ‡ซ๐Ÿ‡ท", "unicode": "U+1F1EB U+1F1F7"}, + "GA": {"emoji": "๐Ÿ‡ฌ๐Ÿ‡ฆ", "unicode": "U+1F1EC U+1F1E6"}, + "GB": {"emoji": "๐Ÿ‡ฌ๐Ÿ‡ง", "unicode": "U+1F1EC U+1F1E7"}, + "GD": {"emoji": "๐Ÿ‡ฌ๐Ÿ‡ฉ", "unicode": "U+1F1EC U+1F1E9"}, + "GE": {"emoji": "๐Ÿ‡ฌ๐Ÿ‡ช", "unicode": "U+1F1EC U+1F1EA"}, + "GF": {"emoji": "๐Ÿ‡ฌ๐Ÿ‡ซ", "unicode": "U+1F1EC U+1F1EB"}, + "GG": {"emoji": "๐Ÿ‡ฌ๐Ÿ‡ฌ", "unicode": "U+1F1EC U+1F1EC"}, + "GH": {"emoji": "๐Ÿ‡ฌ๐Ÿ‡ญ", "unicode": "U+1F1EC U+1F1ED"}, + "GI": {"emoji": "๐Ÿ‡ฌ๐Ÿ‡ฎ", "unicode": "U+1F1EC U+1F1EE"}, + "GL": {"emoji": "๐Ÿ‡ฌ๐Ÿ‡ฑ", "unicode": "U+1F1EC U+1F1F1"}, + "GM": {"emoji": "๐Ÿ‡ฌ๐Ÿ‡ฒ", "unicode": "U+1F1EC U+1F1F2"}, + "GN": {"emoji": "๐Ÿ‡ฌ๐Ÿ‡ณ", "unicode": "U+1F1EC U+1F1F3"}, + "GP": {"emoji": "๐Ÿ‡ฌ๐Ÿ‡ต", "unicode": "U+1F1EC U+1F1F5"}, + "GQ": {"emoji": "๐Ÿ‡ฌ๐Ÿ‡ถ", "unicode": "U+1F1EC U+1F1F6"}, + "GR": {"emoji": "๐Ÿ‡ฌ๐Ÿ‡ท", "unicode": "U+1F1EC U+1F1F7"}, + "GS": {"emoji": "๐Ÿ‡ฌ๐Ÿ‡ธ", "unicode": "U+1F1EC U+1F1F8"}, + "GT": {"emoji": "๐Ÿ‡ฌ๐Ÿ‡น", "unicode": "U+1F1EC U+1F1F9"}, + "GU": {"emoji": "๐Ÿ‡ฌ๐Ÿ‡บ", "unicode": "U+1F1EC U+1F1FA"}, + "GW": {"emoji": "๐Ÿ‡ฌ๐Ÿ‡ผ", "unicode": "U+1F1EC U+1F1FC"}, + "GY": {"emoji": "๐Ÿ‡ฌ๐Ÿ‡พ", "unicode": "U+1F1EC U+1F1FE"}, + "HK": {"emoji": "๐Ÿ‡ญ๐Ÿ‡ฐ", "unicode": "U+1F1ED U+1F1F0"}, + "HM": {"emoji": "๐Ÿ‡ญ๐Ÿ‡ฒ", "unicode": "U+1F1ED U+1F1F2"}, + "HN": {"emoji": "๐Ÿ‡ญ๐Ÿ‡ณ", "unicode": "U+1F1ED U+1F1F3"}, + "HR": {"emoji": "๐Ÿ‡ญ๐Ÿ‡ท", "unicode": "U+1F1ED U+1F1F7"}, + "HT": {"emoji": "๐Ÿ‡ญ๐Ÿ‡น", "unicode": "U+1F1ED U+1F1F9"}, + "HU": {"emoji": "๐Ÿ‡ญ๐Ÿ‡บ", "unicode": "U+1F1ED U+1F1FA"}, + "ID": {"emoji": "๐Ÿ‡ฎ๐Ÿ‡ฉ", "unicode": "U+1F1EE U+1F1E9"}, + "IE": {"emoji": "๐Ÿ‡ฎ๐Ÿ‡ช", "unicode": "U+1F1EE U+1F1EA"}, + "IL": {"emoji": "๐Ÿ‡ฎ๐Ÿ‡ฑ", "unicode": "U+1F1EE U+1F1F1"}, + "IM": {"emoji": "๐Ÿ‡ฎ๐Ÿ‡ฒ", "unicode": "U+1F1EE U+1F1F2"}, + "IN": {"emoji": "๐Ÿ‡ฎ๐Ÿ‡ณ", "unicode": "U+1F1EE U+1F1F3"}, + "IO": {"emoji": "๐Ÿ‡ฎ๐Ÿ‡ด", "unicode": "U+1F1EE U+1F1F4"}, + "IQ": {"emoji": "๐Ÿ‡ฎ๐Ÿ‡ถ", "unicode": "U+1F1EE U+1F1F6"}, + "IR": {"emoji": "๐Ÿ‡ฎ๐Ÿ‡ท", "unicode": "U+1F1EE U+1F1F7"}, + "IS": {"emoji": "๐Ÿ‡ฎ๐Ÿ‡ธ", "unicode": "U+1F1EE U+1F1F8"}, + "IT": {"emoji": "๐Ÿ‡ฎ๐Ÿ‡น", "unicode": "U+1F1EE U+1F1F9"}, + "JE": {"emoji": "๐Ÿ‡ฏ๐Ÿ‡ช", "unicode": "U+1F1EF U+1F1EA"}, + "JM": {"emoji": "๐Ÿ‡ฏ๐Ÿ‡ฒ", "unicode": "U+1F1EF U+1F1F2"}, + "JO": {"emoji": "๐Ÿ‡ฏ๐Ÿ‡ด", "unicode": "U+1F1EF U+1F1F4"}, + "JP": {"emoji": "๐Ÿ‡ฏ๐Ÿ‡ต", "unicode": "U+1F1EF U+1F1F5"}, + "KE": {"emoji": "๐Ÿ‡ฐ๐Ÿ‡ช", "unicode": "U+1F1F0 U+1F1EA"}, + "KG": {"emoji": "๐Ÿ‡ฐ๐Ÿ‡ฌ", "unicode": "U+1F1F0 U+1F1EC"}, + "KH": {"emoji": "๐Ÿ‡ฐ๐Ÿ‡ญ", "unicode": "U+1F1F0 U+1F1ED"}, + "KI": {"emoji": "๐Ÿ‡ฐ๐Ÿ‡ฎ", "unicode": "U+1F1F0 U+1F1EE"}, + "KM": {"emoji": "๐Ÿ‡ฐ๐Ÿ‡ฒ", "unicode": "U+1F1F0 U+1F1F2"}, + "KN": {"emoji": "๐Ÿ‡ฐ๐Ÿ‡ณ", "unicode": "U+1F1F0 U+1F1F3"}, + "KP": {"emoji": "๐Ÿ‡ฐ๐Ÿ‡ต", "unicode": "U+1F1F0 U+1F1F5"}, + "KR": {"emoji": "๐Ÿ‡ฐ๐Ÿ‡ท", "unicode": "U+1F1F0 U+1F1F7"}, + "KW": {"emoji": "๐Ÿ‡ฐ๐Ÿ‡ผ", "unicode": "U+1F1F0 U+1F1FC"}, + "KY": {"emoji": "๐Ÿ‡ฐ๐Ÿ‡พ", "unicode": "U+1F1F0 U+1F1FE"}, + "KZ": {"emoji": "๐Ÿ‡ฐ๐Ÿ‡ฟ", "unicode": "U+1F1F0 U+1F1FF"}, + "LA": {"emoji": "๐Ÿ‡ฑ๐Ÿ‡ฆ", "unicode": "U+1F1F1 U+1F1E6"}, + "LB": {"emoji": "๐Ÿ‡ฑ๐Ÿ‡ง", "unicode": "U+1F1F1 U+1F1E7"}, + "LC": {"emoji": "๐Ÿ‡ฑ๐Ÿ‡จ", "unicode": "U+1F1F1 U+1F1E8"}, + "LI": {"emoji": "๐Ÿ‡ฑ๐Ÿ‡ฎ", "unicode": "U+1F1F1 U+1F1EE"}, + "LK": {"emoji": "๐Ÿ‡ฑ๐Ÿ‡ฐ", "unicode": "U+1F1F1 U+1F1F0"}, + "LR": {"emoji": "๐Ÿ‡ฑ๐Ÿ‡ท", "unicode": "U+1F1F1 U+1F1F7"}, + "LS": {"emoji": "๐Ÿ‡ฑ๐Ÿ‡ธ", "unicode": "U+1F1F1 U+1F1F8"}, + "LT": {"emoji": "๐Ÿ‡ฑ๐Ÿ‡น", "unicode": "U+1F1F1 U+1F1F9"}, + "LU": {"emoji": "๐Ÿ‡ฑ๐Ÿ‡บ", "unicode": "U+1F1F1 U+1F1FA"}, + "LV": {"emoji": "๐Ÿ‡ฑ๐Ÿ‡ป", "unicode": "U+1F1F1 U+1F1FB"}, + "LY": {"emoji": "๐Ÿ‡ฑ๐Ÿ‡พ", "unicode": "U+1F1F1 U+1F1FE"}, + "MA": {"emoji": "๐Ÿ‡ฒ๐Ÿ‡ฆ", "unicode": "U+1F1F2 U+1F1E6"}, + "MC": {"emoji": "๐Ÿ‡ฒ๐Ÿ‡จ", "unicode": "U+1F1F2 U+1F1E8"}, + "MD": {"emoji": "๐Ÿ‡ฒ๐Ÿ‡ฉ", "unicode": "U+1F1F2 U+1F1E9"}, + "ME": {"emoji": "๐Ÿ‡ฒ๐Ÿ‡ช", "unicode": "U+1F1F2 U+1F1EA"}, + "MF": {"emoji": "๐Ÿ‡ฒ๐Ÿ‡ซ", "unicode": "U+1F1F2 U+1F1EB"}, + "MG": {"emoji": "๐Ÿ‡ฒ๐Ÿ‡ฌ", "unicode": "U+1F1F2 U+1F1EC"}, + "MH": {"emoji": "๐Ÿ‡ฒ๐Ÿ‡ญ", "unicode": "U+1F1F2 U+1F1ED"}, + "MK": {"emoji": "๐Ÿ‡ฒ๐Ÿ‡ฐ", "unicode": "U+1F1F2 U+1F1F0"}, + "ML": {"emoji": "๐Ÿ‡ฒ๐Ÿ‡ฑ", "unicode": "U+1F1F2 U+1F1F1"}, + "MM": {"emoji": "๐Ÿ‡ฒ๐Ÿ‡ฒ", "unicode": "U+1F1F2 U+1F1F2"}, + "MN": {"emoji": "๐Ÿ‡ฒ๐Ÿ‡ณ", "unicode": "U+1F1F2 U+1F1F3"}, + "MO": {"emoji": "๐Ÿ‡ฒ๐Ÿ‡ด", "unicode": "U+1F1F2 U+1F1F4"}, + "MP": {"emoji": "๐Ÿ‡ฒ๐Ÿ‡ต", "unicode": "U+1F1F2 U+1F1F5"}, + "MQ": {"emoji": "๐Ÿ‡ฒ๐Ÿ‡ถ", "unicode": "U+1F1F2 U+1F1F6"}, + "MR": {"emoji": "๐Ÿ‡ฒ๐Ÿ‡ท", "unicode": "U+1F1F2 U+1F1F7"}, + "MS": {"emoji": "๐Ÿ‡ฒ๐Ÿ‡ธ", "unicode": "U+1F1F2 U+1F1F8"}, + "MT": {"emoji": "๐Ÿ‡ฒ๐Ÿ‡น", "unicode": "U+1F1F2 U+1F1F9"}, + "MU": {"emoji": "๐Ÿ‡ฒ๐Ÿ‡บ", "unicode": "U+1F1F2 U+1F1FA"}, + "MV": {"emoji": "๐Ÿ‡ฒ๐Ÿ‡ป", "unicode": "U+1F1F2 U+1F1FB"}, + "MW": {"emoji": "๐Ÿ‡ฒ๐Ÿ‡ผ", "unicode": "U+1F1F2 U+1F1FC"}, + "MX": {"emoji": "๐Ÿ‡ฒ๐Ÿ‡ฝ", "unicode": "U+1F1F2 U+1F1FD"}, + "MY": {"emoji": "๐Ÿ‡ฒ๐Ÿ‡พ", "unicode": "U+1F1F2 U+1F1FE"}, + "MZ": {"emoji": "๐Ÿ‡ฒ๐Ÿ‡ฟ", "unicode": "U+1F1F2 U+1F1FF"}, + "NA": {"emoji": "๐Ÿ‡ณ๐Ÿ‡ฆ", "unicode": "U+1F1F3 U+1F1E6"}, + "NC": {"emoji": "๐Ÿ‡ณ๐Ÿ‡จ", "unicode": "U+1F1F3 U+1F1E8"}, + "NE": {"emoji": "๐Ÿ‡ณ๐Ÿ‡ช", "unicode": "U+1F1F3 U+1F1EA"}, + "NF": {"emoji": "๐Ÿ‡ณ๐Ÿ‡ซ", "unicode": "U+1F1F3 U+1F1EB"}, + "NG": {"emoji": "๐Ÿ‡ณ๐Ÿ‡ฌ", "unicode": "U+1F1F3 U+1F1EC"}, + "NI": {"emoji": "๐Ÿ‡ณ๐Ÿ‡ฎ", "unicode": "U+1F1F3 U+1F1EE"}, + "NL": {"emoji": "๐Ÿ‡ณ๐Ÿ‡ฑ", "unicode": "U+1F1F3 U+1F1F1"}, + "NO": {"emoji": "๐Ÿ‡ณ๐Ÿ‡ด", "unicode": "U+1F1F3 U+1F1F4"}, + "NP": {"emoji": "๐Ÿ‡ณ๐Ÿ‡ต", "unicode": "U+1F1F3 U+1F1F5"}, + "NR": {"emoji": "๐Ÿ‡ณ๐Ÿ‡ท", "unicode": "U+1F1F3 U+1F1F7"}, + "NU": {"emoji": "๐Ÿ‡ณ๐Ÿ‡บ", "unicode": "U+1F1F3 U+1F1FA"}, + "NZ": {"emoji": "๐Ÿ‡ณ๐Ÿ‡ฟ", "unicode": "U+1F1F3 U+1F1FF"}, + "OM": {"emoji": "๐Ÿ‡ด๐Ÿ‡ฒ", "unicode": "U+1F1F4 U+1F1F2"}, + "PA": {"emoji": "๐Ÿ‡ต๐Ÿ‡ฆ", "unicode": "U+1F1F5 U+1F1E6"}, + "PE": {"emoji": "๐Ÿ‡ต๐Ÿ‡ช", "unicode": "U+1F1F5 U+1F1EA"}, + "PF": {"emoji": "๐Ÿ‡ต๐Ÿ‡ซ", "unicode": "U+1F1F5 U+1F1EB"}, + "PG": {"emoji": "๐Ÿ‡ต๐Ÿ‡ฌ", "unicode": "U+1F1F5 U+1F1EC"}, + "PH": {"emoji": "๐Ÿ‡ต๐Ÿ‡ญ", "unicode": "U+1F1F5 U+1F1ED"}, + "PK": {"emoji": "๐Ÿ‡ต๐Ÿ‡ฐ", "unicode": "U+1F1F5 U+1F1F0"}, + "PL": {"emoji": "๐Ÿ‡ต๐Ÿ‡ฑ", "unicode": "U+1F1F5 U+1F1F1"}, + "PM": {"emoji": "๐Ÿ‡ต๐Ÿ‡ฒ", "unicode": "U+1F1F5 U+1F1F2"}, + "PN": {"emoji": "๐Ÿ‡ต๐Ÿ‡ณ", "unicode": "U+1F1F5 U+1F1F3"}, + "PR": {"emoji": "๐Ÿ‡ต๐Ÿ‡ท", "unicode": "U+1F1F5 U+1F1F7"}, + "PS": {"emoji": "๐Ÿ‡ต๐Ÿ‡ธ", "unicode": "U+1F1F5 U+1F1F8"}, + "PT": {"emoji": "๐Ÿ‡ต๐Ÿ‡น", "unicode": "U+1F1F5 U+1F1F9"}, + "PW": {"emoji": "๐Ÿ‡ต๐Ÿ‡ผ", "unicode": "U+1F1F5 U+1F1FC"}, + "PY": {"emoji": "๐Ÿ‡ต๐Ÿ‡พ", "unicode": "U+1F1F5 U+1F1FE"}, + "QA": {"emoji": "๐Ÿ‡ถ๐Ÿ‡ฆ", "unicode": "U+1F1F6 U+1F1E6"}, + "RE": {"emoji": "๐Ÿ‡ท๐Ÿ‡ช", "unicode": "U+1F1F7 U+1F1EA"}, + "RO": {"emoji": "๐Ÿ‡ท๐Ÿ‡ด", "unicode": "U+1F1F7 U+1F1F4"}, + "RS": {"emoji": "๐Ÿ‡ท๐Ÿ‡ธ", "unicode": "U+1F1F7 U+1F1F8"}, + "RU": {"emoji": "๐Ÿ‡ท๐Ÿ‡บ", "unicode": "U+1F1F7 U+1F1FA"}, + "RW": {"emoji": "๐Ÿ‡ท๐Ÿ‡ผ", "unicode": "U+1F1F7 U+1F1FC"}, + "SA": {"emoji": "๐Ÿ‡ธ๐Ÿ‡ฆ", "unicode": "U+1F1F8 U+1F1E6"}, + "SB": {"emoji": "๐Ÿ‡ธ๐Ÿ‡ง", "unicode": "U+1F1F8 U+1F1E7"}, + "SC": {"emoji": "๐Ÿ‡ธ๐Ÿ‡จ", "unicode": "U+1F1F8 U+1F1E8"}, + "SD": {"emoji": "๐Ÿ‡ธ๐Ÿ‡ฉ", "unicode": "U+1F1F8 U+1F1E9"}, + "SE": {"emoji": "๐Ÿ‡ธ๐Ÿ‡ช", "unicode": "U+1F1F8 U+1F1EA"}, + "SG": {"emoji": "๐Ÿ‡ธ๐Ÿ‡ฌ", "unicode": "U+1F1F8 U+1F1EC"}, + "SH": {"emoji": "๐Ÿ‡ธ๐Ÿ‡ญ", "unicode": "U+1F1F8 U+1F1ED"}, + "SI": {"emoji": "๐Ÿ‡ธ๐Ÿ‡ฎ", "unicode": "U+1F1F8 U+1F1EE"}, + "SJ": {"emoji": "๐Ÿ‡ธ๐Ÿ‡ฏ", "unicode": "U+1F1F8 U+1F1EF"}, + "SK": {"emoji": "๐Ÿ‡ธ๐Ÿ‡ฐ", "unicode": "U+1F1F8 U+1F1F0"}, + "SL": {"emoji": "๐Ÿ‡ธ๐Ÿ‡ฑ", "unicode": "U+1F1F8 U+1F1F1"}, + "SM": {"emoji": "๐Ÿ‡ธ๐Ÿ‡ฒ", "unicode": "U+1F1F8 U+1F1F2"}, + "SN": {"emoji": "๐Ÿ‡ธ๐Ÿ‡ณ", "unicode": "U+1F1F8 U+1F1F3"}, + "SO": {"emoji": "๐Ÿ‡ธ๐Ÿ‡ด", "unicode": "U+1F1F8 U+1F1F4"}, + "SR": {"emoji": "๐Ÿ‡ธ๐Ÿ‡ท", "unicode": "U+1F1F8 U+1F1F7"}, + "SS": {"emoji": "๐Ÿ‡ธ๐Ÿ‡ธ", "unicode": "U+1F1F8 U+1F1F8"}, + "ST": {"emoji": "๐Ÿ‡ธ๐Ÿ‡น", "unicode": "U+1F1F8 U+1F1F9"}, + "SV": {"emoji": "๐Ÿ‡ธ๐Ÿ‡ป", "unicode": "U+1F1F8 U+1F1FB"}, + "SX": {"emoji": "๐Ÿ‡ธ๐Ÿ‡ฝ", "unicode": "U+1F1F8 U+1F1FD"}, + "SY": {"emoji": "๐Ÿ‡ธ๐Ÿ‡พ", "unicode": "U+1F1F8 U+1F1FE"}, + "SZ": {"emoji": "๐Ÿ‡ธ๐Ÿ‡ฟ", "unicode": "U+1F1F8 U+1F1FF"}, + "TC": {"emoji": "๐Ÿ‡น๐Ÿ‡จ", "unicode": "U+1F1F9 U+1F1E8"}, + "TD": {"emoji": "๐Ÿ‡น๐Ÿ‡ฉ", "unicode": "U+1F1F9 U+1F1E9"}, + "TF": {"emoji": "๐Ÿ‡น๐Ÿ‡ซ", "unicode": "U+1F1F9 U+1F1EB"}, + "TG": {"emoji": "๐Ÿ‡น๐Ÿ‡ฌ", "unicode": "U+1F1F9 U+1F1EC"}, + "TH": {"emoji": "๐Ÿ‡น๐Ÿ‡ญ", "unicode": "U+1F1F9 U+1F1ED"}, + "TJ": {"emoji": "๐Ÿ‡น๐Ÿ‡ฏ", "unicode": "U+1F1F9 U+1F1EF"}, + "TK": {"emoji": "๐Ÿ‡น๐Ÿ‡ฐ", "unicode": "U+1F1F9 U+1F1F0"}, + "TL": {"emoji": "๐Ÿ‡น๐Ÿ‡ฑ", "unicode": "U+1F1F9 U+1F1F1"}, + "TM": {"emoji": "๐Ÿ‡น๐Ÿ‡ฒ", "unicode": "U+1F1F9 U+1F1F2"}, + "TN": {"emoji": "๐Ÿ‡น๐Ÿ‡ณ", "unicode": "U+1F1F9 U+1F1F3"}, + "TO": {"emoji": "๐Ÿ‡น๐Ÿ‡ด", "unicode": "U+1F1F9 U+1F1F4"}, + "TR": {"emoji": "๐Ÿ‡น๐Ÿ‡ท", "unicode": "U+1F1F9 U+1F1F7"}, + "TT": {"emoji": "๐Ÿ‡น๐Ÿ‡น", "unicode": "U+1F1F9 U+1F1F9"}, + "TV": {"emoji": "๐Ÿ‡น๐Ÿ‡ป", "unicode": "U+1F1F9 U+1F1FB"}, + "TW": {"emoji": "๐Ÿ‡น๐Ÿ‡ผ", "unicode": "U+1F1F9 U+1F1FC"}, + "TZ": {"emoji": "๐Ÿ‡น๐Ÿ‡ฟ", "unicode": "U+1F1F9 U+1F1FF"}, + "UA": {"emoji": "๐Ÿ‡บ๐Ÿ‡ฆ", "unicode": "U+1F1FA U+1F1E6"}, + "UG": {"emoji": "๐Ÿ‡บ๐Ÿ‡ฌ", "unicode": "U+1F1FA U+1F1EC"}, + "UM": {"emoji": "๐Ÿ‡บ๐Ÿ‡ฒ", "unicode": "U+1F1FA U+1F1F2"}, + "US": {"emoji": "๐Ÿ‡บ๐Ÿ‡ธ", "unicode": "U+1F1FA U+1F1F8"}, + "UY": {"emoji": "๐Ÿ‡บ๐Ÿ‡พ", "unicode": "U+1F1FA U+1F1FE"}, + "UZ": {"emoji": "๐Ÿ‡บ๐Ÿ‡ฟ", "unicode": "U+1F1FA U+1F1FF"}, + "VA": {"emoji": "๐Ÿ‡ป๐Ÿ‡ฆ", "unicode": "U+1F1FB U+1F1E6"}, + "VC": {"emoji": "๐Ÿ‡ป๐Ÿ‡จ", "unicode": "U+1F1FB U+1F1E8"}, + "VE": {"emoji": "๐Ÿ‡ป๐Ÿ‡ช", "unicode": "U+1F1FB U+1F1EA"}, + "VG": {"emoji": "๐Ÿ‡ป๐Ÿ‡ฌ", "unicode": "U+1F1FB U+1F1EC"}, + "VI": {"emoji": "๐Ÿ‡ป๐Ÿ‡ฎ", "unicode": "U+1F1FB U+1F1EE"}, + "VN": {"emoji": "๐Ÿ‡ป๐Ÿ‡ณ", "unicode": "U+1F1FB U+1F1F3"}, + "VU": {"emoji": "๐Ÿ‡ป๐Ÿ‡บ", "unicode": "U+1F1FB U+1F1FA"}, + "WF": {"emoji": "๐Ÿ‡ผ๐Ÿ‡ซ", "unicode": "U+1F1FC U+1F1EB"}, + "WS": {"emoji": "๐Ÿ‡ผ๐Ÿ‡ธ", "unicode": "U+1F1FC U+1F1F8"}, + "XK": {"emoji": "๐Ÿ‡ฝ๐Ÿ‡ฐ", "unicode": "U+1F1FD U+1F1F0"}, + "YE": {"emoji": "๐Ÿ‡พ๐Ÿ‡ช", "unicode": "U+1F1FE U+1F1EA"}, + "YT": {"emoji": "๐Ÿ‡พ๐Ÿ‡น", "unicode": "U+1F1FE U+1F1F9"}, + "ZA": {"emoji": "๐Ÿ‡ฟ๐Ÿ‡ฆ", "unicode": "U+1F1FF U+1F1E6"}, + "ZM": {"emoji": "๐Ÿ‡ฟ๐Ÿ‡ฒ", "unicode": "U+1F1FF U+1F1F2"}, + "ZW": {"emoji": "๐Ÿ‡ฟ๐Ÿ‡ผ", "unicode": "U+1F1FF U+1F1FC"}, +} diff --git a/ipinfo/details.py b/ipinfo/details.py index 8b0d3fb..1c59306 100644 --- a/ipinfo/details.py +++ b/ipinfo/details.py @@ -13,9 +13,7 @@ def __init__(self, details): def __getattr__(self, attr): """Return attribute if it exists in details array, else return error.""" if attr not in self.details: - raise AttributeError( - f"{attr} is not a valid attribute of Details" - ) + raise AttributeError(f"{attr} is not a valid attribute of Details") return self.details[attr] diff --git a/ipinfo/eu.json b/ipinfo/eu.json deleted file mode 100644 index a8872d5..0000000 --- a/ipinfo/eu.json +++ /dev/null @@ -1 +0,0 @@ -["IE","AT","LT","LU","LV","DE","DK","SE","SI","SK","CZ","CY","NL","FI","FR","MT","ES","IT","EE","PL","PT","HU","HR","GR","RO","BG","BE"] diff --git a/ipinfo/flags.json b/ipinfo/flags.json deleted file mode 100644 index 3ec4619..0000000 --- a/ipinfo/flags.json +++ /dev/null @@ -1,252 +0,0 @@ -{ - "AD": {"emoji": "๐Ÿ‡ฆ๐Ÿ‡ฉ","unicode": "U+1F1E6 U+1F1E9"}, - "AE": {"emoji": "๐Ÿ‡ฆ๐Ÿ‡ช","unicode": "U+1F1E6 U+1F1EA"}, - "AF": {"emoji": "๐Ÿ‡ฆ๐Ÿ‡ซ","unicode": "U+1F1E6 U+1F1EB"}, - "AG": {"emoji": "๐Ÿ‡ฆ๐Ÿ‡ฌ","unicode": "U+1F1E6 U+1F1EC"}, - "AI": {"emoji": "๐Ÿ‡ฆ๐Ÿ‡ฎ","unicode": "U+1F1E6 U+1F1EE"}, - "AL": {"emoji": "๐Ÿ‡ฆ๐Ÿ‡ฑ","unicode": "U+1F1E6 U+1F1F1"}, - "AM": {"emoji": "๐Ÿ‡ฆ๐Ÿ‡ฒ","unicode": "U+1F1E6 U+1F1F2"}, - "AO": {"emoji": "๐Ÿ‡ฆ๐Ÿ‡ด","unicode": "U+1F1E6 U+1F1F4"}, - "AQ": {"emoji": "๐Ÿ‡ฆ๐Ÿ‡ถ","unicode": "U+1F1E6 U+1F1F6"}, - "AR": {"emoji": "๐Ÿ‡ฆ๐Ÿ‡ท","unicode": "U+1F1E6 U+1F1F7"}, - "AS": {"emoji": "๐Ÿ‡ฆ๐Ÿ‡ธ","unicode": "U+1F1E6 U+1F1F8"}, - "AT": {"emoji": "๐Ÿ‡ฆ๐Ÿ‡น","unicode": "U+1F1E6 U+1F1F9"}, - "AU": {"emoji": "๐Ÿ‡ฆ๐Ÿ‡บ","unicode": "U+1F1E6 U+1F1FA"}, - "AW": {"emoji": "๐Ÿ‡ฆ๐Ÿ‡ผ","unicode": "U+1F1E6 U+1F1FC"}, - "AX": {"emoji": "๐Ÿ‡ฆ๐Ÿ‡ฝ","unicode": "U+1F1E6 U+1F1FD"}, - "AZ": {"emoji": "๐Ÿ‡ฆ๐Ÿ‡ฟ","unicode": "U+1F1E6 U+1F1FF"}, - "BA": {"emoji": "๐Ÿ‡ง๐Ÿ‡ฆ","unicode": "U+1F1E7 U+1F1E6"}, - "BB": {"emoji": "๐Ÿ‡ง๐Ÿ‡ง","unicode": "U+1F1E7 U+1F1E7"}, - "BD": {"emoji": "๐Ÿ‡ง๐Ÿ‡ฉ","unicode": "U+1F1E7 U+1F1E9"}, - "BE": {"emoji": "๐Ÿ‡ง๐Ÿ‡ช","unicode": "U+1F1E7 U+1F1EA"}, - "BF": {"emoji": "๐Ÿ‡ง๐Ÿ‡ซ","unicode": "U+1F1E7 U+1F1EB"}, - "BG": {"emoji": "๐Ÿ‡ง๐Ÿ‡ฌ","unicode": "U+1F1E7 U+1F1EC"}, - "BH": {"emoji": "๐Ÿ‡ง๐Ÿ‡ญ","unicode": "U+1F1E7 U+1F1ED"}, - "BI": {"emoji": "๐Ÿ‡ง๐Ÿ‡ฎ","unicode": "U+1F1E7 U+1F1EE"}, - "BJ": {"emoji": "๐Ÿ‡ง๐Ÿ‡ฏ","unicode": "U+1F1E7 U+1F1EF"}, - "BL": {"emoji": "๐Ÿ‡ง๐Ÿ‡ฑ","unicode": "U+1F1E7 U+1F1F1"}, - "BM": {"emoji": "๐Ÿ‡ง๐Ÿ‡ฒ","unicode": "U+1F1E7 U+1F1F2"}, - "BN": {"emoji": "๐Ÿ‡ง๐Ÿ‡ณ","unicode": "U+1F1E7 U+1F1F3"}, - "BO": {"emoji": "๐Ÿ‡ง๐Ÿ‡ด","unicode": "U+1F1E7 U+1F1F4"}, - "BQ": {"emoji": "๐Ÿ‡ง๐Ÿ‡ถ","unicode": "U+1F1E7 U+1F1F6"}, - "BR": {"emoji": "๐Ÿ‡ง๐Ÿ‡ท","unicode": "U+1F1E7 U+1F1F7"}, - "BS": {"emoji": "๐Ÿ‡ง๐Ÿ‡ธ","unicode": "U+1F1E7 U+1F1F8"}, - "BT": {"emoji": "๐Ÿ‡ง๐Ÿ‡น","unicode": "U+1F1E7 U+1F1F9"}, - "BV": {"emoji": "๐Ÿ‡ง๐Ÿ‡ป","unicode": "U+1F1E7 U+1F1FB"}, - "BW": {"emoji": "๐Ÿ‡ง๐Ÿ‡ผ","unicode": "U+1F1E7 U+1F1FC"}, - "BY": {"emoji": "๐Ÿ‡ง๐Ÿ‡พ","unicode": "U+1F1E7 U+1F1FE"}, - "BZ": {"emoji": "๐Ÿ‡ง๐Ÿ‡ฟ","unicode": "U+1F1E7 U+1F1FF"}, - "CA": {"emoji": "๐Ÿ‡จ๐Ÿ‡ฆ","unicode": "U+1F1E8 U+1F1E6"}, - "CC": {"emoji": "๐Ÿ‡จ๐Ÿ‡จ","unicode": "U+1F1E8 U+1F1E8"}, - "CD": {"emoji": "๐Ÿ‡จ๐Ÿ‡ฉ","unicode": "U+1F1E8 U+1F1E9"}, - "CF": {"emoji": "๐Ÿ‡จ๐Ÿ‡ซ","unicode": "U+1F1E8 U+1F1EB"}, - "CG": {"emoji": "๐Ÿ‡จ๐Ÿ‡ฌ","unicode": "U+1F1E8 U+1F1EC"}, - "CH": {"emoji": "๐Ÿ‡จ๐Ÿ‡ญ","unicode": "U+1F1E8 U+1F1ED"}, - "CI": {"emoji": "๐Ÿ‡จ๐Ÿ‡ฎ","unicode": "U+1F1E8 U+1F1EE"}, - "CK": {"emoji": "๐Ÿ‡จ๐Ÿ‡ฐ","unicode": "U+1F1E8 U+1F1F0"}, - "CL": {"emoji": "๐Ÿ‡จ๐Ÿ‡ฑ","unicode": "U+1F1E8 U+1F1F1"}, - "CM": {"emoji": "๐Ÿ‡จ๐Ÿ‡ฒ","unicode": "U+1F1E8 U+1F1F2"}, - "CN": {"emoji": "๐Ÿ‡จ๐Ÿ‡ณ","unicode": "U+1F1E8 U+1F1F3"}, - "CO": {"emoji": "๐Ÿ‡จ๐Ÿ‡ด","unicode": "U+1F1E8 U+1F1F4"}, - "CR": {"emoji": "๐Ÿ‡จ๐Ÿ‡ท","unicode": "U+1F1E8 U+1F1F7"}, - "CU": {"emoji": "๐Ÿ‡จ๐Ÿ‡บ","unicode": "U+1F1E8 U+1F1FA"}, - "CV": {"emoji": "๐Ÿ‡จ๐Ÿ‡ป","unicode": "U+1F1E8 U+1F1FB"}, - "CW": {"emoji": "๐Ÿ‡จ๐Ÿ‡ผ","unicode": "U+1F1E8 U+1F1FC"}, - "CX": {"emoji": "๐Ÿ‡จ๐Ÿ‡ฝ","unicode": "U+1F1E8 U+1F1FD"}, - "CY": {"emoji": "๐Ÿ‡จ๐Ÿ‡พ","unicode": "U+1F1E8 U+1F1FE"}, - "CZ": {"emoji": "๐Ÿ‡จ๐Ÿ‡ฟ","unicode": "U+1F1E8 U+1F1FF"}, - "DE": {"emoji": "๐Ÿ‡ฉ๐Ÿ‡ช","unicode": "U+1F1E9 U+1F1EA"}, - "DJ": {"emoji": "๐Ÿ‡ฉ๐Ÿ‡ฏ","unicode": "U+1F1E9 U+1F1EF"}, - "DK": {"emoji": "๐Ÿ‡ฉ๐Ÿ‡ฐ","unicode": "U+1F1E9 U+1F1F0"}, - "DM": {"emoji": "๐Ÿ‡ฉ๐Ÿ‡ฒ","unicode": "U+1F1E9 U+1F1F2"}, - "DO": {"emoji": "๐Ÿ‡ฉ๐Ÿ‡ด","unicode": "U+1F1E9 U+1F1F4"}, - "DZ": {"emoji": "๐Ÿ‡ฉ๐Ÿ‡ฟ","unicode": "U+1F1E9 U+1F1FF"}, - "EC": {"emoji": "๐Ÿ‡ช๐Ÿ‡จ","unicode": "U+1F1EA U+1F1E8"}, - "EE": {"emoji": "๐Ÿ‡ช๐Ÿ‡ช","unicode": "U+1F1EA U+1F1EA"}, - "EG": {"emoji": "๐Ÿ‡ช๐Ÿ‡ฌ","unicode": "U+1F1EA U+1F1EC"}, - "EH": {"emoji": "๐Ÿ‡ช๐Ÿ‡ญ","unicode": "U+1F1EA U+1F1ED"}, - "ER": {"emoji": "๐Ÿ‡ช๐Ÿ‡ท","unicode": "U+1F1EA U+1F1F7"}, - "ES": {"emoji": "๐Ÿ‡ช๐Ÿ‡ธ","unicode": "U+1F1EA U+1F1F8"}, - "ET": {"emoji": "๐Ÿ‡ช๐Ÿ‡น","unicode": "U+1F1EA U+1F1F9"}, - "FI": {"emoji": "๐Ÿ‡ซ๐Ÿ‡ฎ","unicode": "U+1F1EB U+1F1EE"}, - "FJ": {"emoji": "๐Ÿ‡ซ๐Ÿ‡ฏ","unicode": "U+1F1EB U+1F1EF"}, - "FK": {"emoji": "๐Ÿ‡ซ๐Ÿ‡ฐ","unicode": "U+1F1EB U+1F1F0"}, - "FM": {"emoji": "๐Ÿ‡ซ๐Ÿ‡ฒ","unicode": "U+1F1EB U+1F1F2"}, - "FO": {"emoji": "๐Ÿ‡ซ๐Ÿ‡ด","unicode": "U+1F1EB U+1F1F4"}, - "FR": {"emoji": "๐Ÿ‡ซ๐Ÿ‡ท","unicode": "U+1F1EB U+1F1F7"}, - "GA": {"emoji": "๐Ÿ‡ฌ๐Ÿ‡ฆ","unicode": "U+1F1EC U+1F1E6"}, - "GB": {"emoji": "๐Ÿ‡ฌ๐Ÿ‡ง","unicode": "U+1F1EC U+1F1E7"}, - "GD": {"emoji": "๐Ÿ‡ฌ๐Ÿ‡ฉ","unicode": "U+1F1EC U+1F1E9"}, - "GE": {"emoji": "๐Ÿ‡ฌ๐Ÿ‡ช","unicode": "U+1F1EC U+1F1EA"}, - "GF": {"emoji": "๐Ÿ‡ฌ๐Ÿ‡ซ","unicode": "U+1F1EC U+1F1EB"}, - "GG": {"emoji": "๐Ÿ‡ฌ๐Ÿ‡ฌ","unicode": "U+1F1EC U+1F1EC"}, - "GH": {"emoji": "๐Ÿ‡ฌ๐Ÿ‡ญ","unicode": "U+1F1EC U+1F1ED"}, - "GI": {"emoji": "๐Ÿ‡ฌ๐Ÿ‡ฎ","unicode": "U+1F1EC U+1F1EE"}, - "GL": {"emoji": "๐Ÿ‡ฌ๐Ÿ‡ฑ","unicode": "U+1F1EC U+1F1F1"}, - "GM": {"emoji": "๐Ÿ‡ฌ๐Ÿ‡ฒ","unicode": "U+1F1EC U+1F1F2"}, - "GN": {"emoji": "๐Ÿ‡ฌ๐Ÿ‡ณ","unicode": "U+1F1EC U+1F1F3"}, - "GP": {"emoji": "๐Ÿ‡ฌ๐Ÿ‡ต","unicode": "U+1F1EC U+1F1F5"}, - "GQ": {"emoji": "๐Ÿ‡ฌ๐Ÿ‡ถ","unicode": "U+1F1EC U+1F1F6"}, - "GR": {"emoji": "๐Ÿ‡ฌ๐Ÿ‡ท","unicode": "U+1F1EC U+1F1F7"}, - "GS": {"emoji": "๐Ÿ‡ฌ๐Ÿ‡ธ","unicode": "U+1F1EC U+1F1F8"}, - "GT": {"emoji": "๐Ÿ‡ฌ๐Ÿ‡น","unicode": "U+1F1EC U+1F1F9"}, - "GU": {"emoji": "๐Ÿ‡ฌ๐Ÿ‡บ","unicode": "U+1F1EC U+1F1FA"}, - "GW": {"emoji": "๐Ÿ‡ฌ๐Ÿ‡ผ","unicode": "U+1F1EC U+1F1FC"}, - "GY": {"emoji": "๐Ÿ‡ฌ๐Ÿ‡พ","unicode": "U+1F1EC U+1F1FE"}, - "HK": {"emoji": "๐Ÿ‡ญ๐Ÿ‡ฐ","unicode": "U+1F1ED U+1F1F0"}, - "HM": {"emoji": "๐Ÿ‡ญ๐Ÿ‡ฒ","unicode": "U+1F1ED U+1F1F2"}, - "HN": {"emoji": "๐Ÿ‡ญ๐Ÿ‡ณ","unicode": "U+1F1ED U+1F1F3"}, - "HR": {"emoji": "๐Ÿ‡ญ๐Ÿ‡ท","unicode": "U+1F1ED U+1F1F7"}, - "HT": {"emoji": "๐Ÿ‡ญ๐Ÿ‡น","unicode": "U+1F1ED U+1F1F9"}, - "HU": {"emoji": "๐Ÿ‡ญ๐Ÿ‡บ","unicode": "U+1F1ED U+1F1FA"}, - "ID": {"emoji": "๐Ÿ‡ฎ๐Ÿ‡ฉ","unicode": "U+1F1EE U+1F1E9"}, - "IE": {"emoji": "๐Ÿ‡ฎ๐Ÿ‡ช","unicode": "U+1F1EE U+1F1EA"}, - "IL": {"emoji": "๐Ÿ‡ฎ๐Ÿ‡ฑ","unicode": "U+1F1EE U+1F1F1"}, - "IM": {"emoji": "๐Ÿ‡ฎ๐Ÿ‡ฒ","unicode": "U+1F1EE U+1F1F2"}, - "IN": {"emoji": "๐Ÿ‡ฎ๐Ÿ‡ณ","unicode": "U+1F1EE U+1F1F3"}, - "IO": {"emoji": "๐Ÿ‡ฎ๐Ÿ‡ด","unicode": "U+1F1EE U+1F1F4"}, - "IQ": {"emoji": "๐Ÿ‡ฎ๐Ÿ‡ถ","unicode": "U+1F1EE U+1F1F6"}, - "IR": {"emoji": "๐Ÿ‡ฎ๐Ÿ‡ท","unicode": "U+1F1EE U+1F1F7"}, - "IS": {"emoji": "๐Ÿ‡ฎ๐Ÿ‡ธ","unicode": "U+1F1EE U+1F1F8"}, - "IT": {"emoji": "๐Ÿ‡ฎ๐Ÿ‡น","unicode": "U+1F1EE U+1F1F9"}, - "JE": {"emoji": "๐Ÿ‡ฏ๐Ÿ‡ช","unicode": "U+1F1EF U+1F1EA"}, - "JM": {"emoji": "๐Ÿ‡ฏ๐Ÿ‡ฒ","unicode": "U+1F1EF U+1F1F2"}, - "JO": {"emoji": "๐Ÿ‡ฏ๐Ÿ‡ด","unicode": "U+1F1EF U+1F1F4"}, - "JP": {"emoji": "๐Ÿ‡ฏ๐Ÿ‡ต","unicode": "U+1F1EF U+1F1F5"}, - "KE": {"emoji": "๐Ÿ‡ฐ๐Ÿ‡ช","unicode": "U+1F1F0 U+1F1EA"}, - "KG": {"emoji": "๐Ÿ‡ฐ๐Ÿ‡ฌ","unicode": "U+1F1F0 U+1F1EC"}, - "KH": {"emoji": "๐Ÿ‡ฐ๐Ÿ‡ญ","unicode": "U+1F1F0 U+1F1ED"}, - "KI": {"emoji": "๐Ÿ‡ฐ๐Ÿ‡ฎ","unicode": "U+1F1F0 U+1F1EE"}, - "KM": {"emoji": "๐Ÿ‡ฐ๐Ÿ‡ฒ","unicode": "U+1F1F0 U+1F1F2"}, - "KN": {"emoji": "๐Ÿ‡ฐ๐Ÿ‡ณ","unicode": "U+1F1F0 U+1F1F3"}, - "KP": {"emoji": "๐Ÿ‡ฐ๐Ÿ‡ต","unicode": "U+1F1F0 U+1F1F5"}, - "KR": {"emoji": "๐Ÿ‡ฐ๐Ÿ‡ท","unicode": "U+1F1F0 U+1F1F7"}, - "KW": {"emoji": "๐Ÿ‡ฐ๐Ÿ‡ผ","unicode": "U+1F1F0 U+1F1FC"}, - "KY": {"emoji": "๐Ÿ‡ฐ๐Ÿ‡พ","unicode": "U+1F1F0 U+1F1FE"}, - "KZ": {"emoji": "๐Ÿ‡ฐ๐Ÿ‡ฟ","unicode": "U+1F1F0 U+1F1FF"}, - "LA": {"emoji": "๐Ÿ‡ฑ๐Ÿ‡ฆ","unicode": "U+1F1F1 U+1F1E6"}, - "LB": {"emoji": "๐Ÿ‡ฑ๐Ÿ‡ง","unicode": "U+1F1F1 U+1F1E7"}, - "LC": {"emoji": "๐Ÿ‡ฑ๐Ÿ‡จ","unicode": "U+1F1F1 U+1F1E8"}, - "LI": {"emoji": "๐Ÿ‡ฑ๐Ÿ‡ฎ","unicode": "U+1F1F1 U+1F1EE"}, - "LK": {"emoji": "๐Ÿ‡ฑ๐Ÿ‡ฐ","unicode": "U+1F1F1 U+1F1F0"}, - "LR": {"emoji": "๐Ÿ‡ฑ๐Ÿ‡ท","unicode": "U+1F1F1 U+1F1F7"}, - "LS": {"emoji": "๐Ÿ‡ฑ๐Ÿ‡ธ","unicode": "U+1F1F1 U+1F1F8"}, - "LT": {"emoji": "๐Ÿ‡ฑ๐Ÿ‡น","unicode": "U+1F1F1 U+1F1F9"}, - "LU": {"emoji": "๐Ÿ‡ฑ๐Ÿ‡บ","unicode": "U+1F1F1 U+1F1FA"}, - "LV": {"emoji": "๐Ÿ‡ฑ๐Ÿ‡ป","unicode": "U+1F1F1 U+1F1FB"}, - "LY": {"emoji": "๐Ÿ‡ฑ๐Ÿ‡พ","unicode": "U+1F1F1 U+1F1FE"}, - "MA": {"emoji": "๐Ÿ‡ฒ๐Ÿ‡ฆ","unicode": "U+1F1F2 U+1F1E6"}, - "MC": {"emoji": "๐Ÿ‡ฒ๐Ÿ‡จ","unicode": "U+1F1F2 U+1F1E8"}, - "MD": {"emoji": "๐Ÿ‡ฒ๐Ÿ‡ฉ","unicode": "U+1F1F2 U+1F1E9"}, - "ME": {"emoji": "๐Ÿ‡ฒ๐Ÿ‡ช","unicode": "U+1F1F2 U+1F1EA"}, - "MF": {"emoji": "๐Ÿ‡ฒ๐Ÿ‡ซ","unicode": "U+1F1F2 U+1F1EB"}, - "MG": {"emoji": "๐Ÿ‡ฒ๐Ÿ‡ฌ","unicode": "U+1F1F2 U+1F1EC"}, - "MH": {"emoji": "๐Ÿ‡ฒ๐Ÿ‡ญ","unicode": "U+1F1F2 U+1F1ED"}, - "MK": {"emoji": "๐Ÿ‡ฒ๐Ÿ‡ฐ","unicode": "U+1F1F2 U+1F1F0"}, - "ML": {"emoji": "๐Ÿ‡ฒ๐Ÿ‡ฑ","unicode": "U+1F1F2 U+1F1F1"}, - "MM": {"emoji": "๐Ÿ‡ฒ๐Ÿ‡ฒ","unicode": "U+1F1F2 U+1F1F2"}, - "MN": {"emoji": "๐Ÿ‡ฒ๐Ÿ‡ณ","unicode": "U+1F1F2 U+1F1F3"}, - "MO": {"emoji": "๐Ÿ‡ฒ๐Ÿ‡ด","unicode": "U+1F1F2 U+1F1F4"}, - "MP": {"emoji": "๐Ÿ‡ฒ๐Ÿ‡ต","unicode": "U+1F1F2 U+1F1F5"}, - "MQ": {"emoji": "๐Ÿ‡ฒ๐Ÿ‡ถ","unicode": "U+1F1F2 U+1F1F6"}, - "MR": {"emoji": "๐Ÿ‡ฒ๐Ÿ‡ท","unicode": "U+1F1F2 U+1F1F7"}, - "MS": {"emoji": "๐Ÿ‡ฒ๐Ÿ‡ธ","unicode": "U+1F1F2 U+1F1F8"}, - "MT": {"emoji": "๐Ÿ‡ฒ๐Ÿ‡น","unicode": "U+1F1F2 U+1F1F9"}, - "MU": {"emoji": "๐Ÿ‡ฒ๐Ÿ‡บ","unicode": "U+1F1F2 U+1F1FA"}, - "MV": {"emoji": "๐Ÿ‡ฒ๐Ÿ‡ป","unicode": "U+1F1F2 U+1F1FB"}, - "MW": {"emoji": "๐Ÿ‡ฒ๐Ÿ‡ผ","unicode": "U+1F1F2 U+1F1FC"}, - "MX": {"emoji": "๐Ÿ‡ฒ๐Ÿ‡ฝ","unicode": "U+1F1F2 U+1F1FD"}, - "MY": {"emoji": "๐Ÿ‡ฒ๐Ÿ‡พ","unicode": "U+1F1F2 U+1F1FE"}, - "MZ": {"emoji": "๐Ÿ‡ฒ๐Ÿ‡ฟ","unicode": "U+1F1F2 U+1F1FF"}, - "NA": {"emoji": "๐Ÿ‡ณ๐Ÿ‡ฆ","unicode": "U+1F1F3 U+1F1E6"}, - "NC": {"emoji": "๐Ÿ‡ณ๐Ÿ‡จ","unicode": "U+1F1F3 U+1F1E8"}, - "NE": {"emoji": "๐Ÿ‡ณ๐Ÿ‡ช","unicode": "U+1F1F3 U+1F1EA"}, - "NF": {"emoji": "๐Ÿ‡ณ๐Ÿ‡ซ","unicode": "U+1F1F3 U+1F1EB"}, - "NG": {"emoji": "๐Ÿ‡ณ๐Ÿ‡ฌ","unicode": "U+1F1F3 U+1F1EC"}, - "NI": {"emoji": "๐Ÿ‡ณ๐Ÿ‡ฎ","unicode": "U+1F1F3 U+1F1EE"}, - "NL": {"emoji": "๐Ÿ‡ณ๐Ÿ‡ฑ","unicode": "U+1F1F3 U+1F1F1"}, - "NO": {"emoji": "๐Ÿ‡ณ๐Ÿ‡ด","unicode": "U+1F1F3 U+1F1F4"}, - "NP": {"emoji": "๐Ÿ‡ณ๐Ÿ‡ต","unicode": "U+1F1F3 U+1F1F5"}, - "NR": {"emoji": "๐Ÿ‡ณ๐Ÿ‡ท","unicode": "U+1F1F3 U+1F1F7"}, - "NU": {"emoji": "๐Ÿ‡ณ๐Ÿ‡บ","unicode": "U+1F1F3 U+1F1FA"}, - "NZ": {"emoji": "๐Ÿ‡ณ๐Ÿ‡ฟ","unicode": "U+1F1F3 U+1F1FF"}, - "OM": {"emoji": "๐Ÿ‡ด๐Ÿ‡ฒ","unicode": "U+1F1F4 U+1F1F2"}, - "PA": {"emoji": "๐Ÿ‡ต๐Ÿ‡ฆ","unicode": "U+1F1F5 U+1F1E6"}, - "PE": {"emoji": "๐Ÿ‡ต๐Ÿ‡ช","unicode": "U+1F1F5 U+1F1EA"}, - "PF": {"emoji": "๐Ÿ‡ต๐Ÿ‡ซ","unicode": "U+1F1F5 U+1F1EB"}, - "PG": {"emoji": "๐Ÿ‡ต๐Ÿ‡ฌ","unicode": "U+1F1F5 U+1F1EC"}, - "PH": {"emoji": "๐Ÿ‡ต๐Ÿ‡ญ","unicode": "U+1F1F5 U+1F1ED"}, - "PK": {"emoji": "๐Ÿ‡ต๐Ÿ‡ฐ","unicode": "U+1F1F5 U+1F1F0"}, - "PL": {"emoji": "๐Ÿ‡ต๐Ÿ‡ฑ","unicode": "U+1F1F5 U+1F1F1"}, - "PM": {"emoji": "๐Ÿ‡ต๐Ÿ‡ฒ","unicode": "U+1F1F5 U+1F1F2"}, - "PN": {"emoji": "๐Ÿ‡ต๐Ÿ‡ณ","unicode": "U+1F1F5 U+1F1F3"}, - "PR": {"emoji": "๐Ÿ‡ต๐Ÿ‡ท","unicode": "U+1F1F5 U+1F1F7"}, - "PS": {"emoji": "๐Ÿ‡ต๐Ÿ‡ธ","unicode": "U+1F1F5 U+1F1F8"}, - "PT": {"emoji": "๐Ÿ‡ต๐Ÿ‡น","unicode": "U+1F1F5 U+1F1F9"}, - "PW": {"emoji": "๐Ÿ‡ต๐Ÿ‡ผ","unicode": "U+1F1F5 U+1F1FC"}, - "PY": {"emoji": "๐Ÿ‡ต๐Ÿ‡พ","unicode": "U+1F1F5 U+1F1FE"}, - "QA": {"emoji": "๐Ÿ‡ถ๐Ÿ‡ฆ","unicode": "U+1F1F6 U+1F1E6"}, - "RE": {"emoji": "๐Ÿ‡ท๐Ÿ‡ช","unicode": "U+1F1F7 U+1F1EA"}, - "RO": {"emoji": "๐Ÿ‡ท๐Ÿ‡ด","unicode": "U+1F1F7 U+1F1F4"}, - "RS": {"emoji": "๐Ÿ‡ท๐Ÿ‡ธ","unicode": "U+1F1F7 U+1F1F8"}, - "RU": {"emoji": "๐Ÿ‡ท๐Ÿ‡บ","unicode": "U+1F1F7 U+1F1FA"}, - "RW": {"emoji": "๐Ÿ‡ท๐Ÿ‡ผ","unicode": "U+1F1F7 U+1F1FC"}, - "SA": {"emoji": "๐Ÿ‡ธ๐Ÿ‡ฆ","unicode": "U+1F1F8 U+1F1E6"}, - "SB": {"emoji": "๐Ÿ‡ธ๐Ÿ‡ง","unicode": "U+1F1F8 U+1F1E7"}, - "SC": {"emoji": "๐Ÿ‡ธ๐Ÿ‡จ","unicode": "U+1F1F8 U+1F1E8"}, - "SD": {"emoji": "๐Ÿ‡ธ๐Ÿ‡ฉ","unicode": "U+1F1F8 U+1F1E9"}, - "SE": {"emoji": "๐Ÿ‡ธ๐Ÿ‡ช","unicode": "U+1F1F8 U+1F1EA"}, - "SG": {"emoji": "๐Ÿ‡ธ๐Ÿ‡ฌ","unicode": "U+1F1F8 U+1F1EC"}, - "SH": {"emoji": "๐Ÿ‡ธ๐Ÿ‡ญ","unicode": "U+1F1F8 U+1F1ED"}, - "SI": {"emoji": "๐Ÿ‡ธ๐Ÿ‡ฎ","unicode": "U+1F1F8 U+1F1EE"}, - "SJ": {"emoji": "๐Ÿ‡ธ๐Ÿ‡ฏ","unicode": "U+1F1F8 U+1F1EF"}, - "SK": {"emoji": "๐Ÿ‡ธ๐Ÿ‡ฐ","unicode": "U+1F1F8 U+1F1F0"}, - "SL": {"emoji": "๐Ÿ‡ธ๐Ÿ‡ฑ","unicode": "U+1F1F8 U+1F1F1"}, - "SM": {"emoji": "๐Ÿ‡ธ๐Ÿ‡ฒ","unicode": "U+1F1F8 U+1F1F2"}, - "SN": {"emoji": "๐Ÿ‡ธ๐Ÿ‡ณ","unicode": "U+1F1F8 U+1F1F3"}, - "SO": {"emoji": "๐Ÿ‡ธ๐Ÿ‡ด","unicode": "U+1F1F8 U+1F1F4"}, - "SR": {"emoji": "๐Ÿ‡ธ๐Ÿ‡ท","unicode": "U+1F1F8 U+1F1F7"}, - "SS": {"emoji": "๐Ÿ‡ธ๐Ÿ‡ธ","unicode": "U+1F1F8 U+1F1F8"}, - "ST": {"emoji": "๐Ÿ‡ธ๐Ÿ‡น","unicode": "U+1F1F8 U+1F1F9"}, - "SV": {"emoji": "๐Ÿ‡ธ๐Ÿ‡ป","unicode": "U+1F1F8 U+1F1FB"}, - "SX": {"emoji": "๐Ÿ‡ธ๐Ÿ‡ฝ","unicode": "U+1F1F8 U+1F1FD"}, - "SY": {"emoji": "๐Ÿ‡ธ๐Ÿ‡พ","unicode": "U+1F1F8 U+1F1FE"}, - "SZ": {"emoji": "๐Ÿ‡ธ๐Ÿ‡ฟ","unicode": "U+1F1F8 U+1F1FF"}, - "TC": {"emoji": "๐Ÿ‡น๐Ÿ‡จ","unicode": "U+1F1F9 U+1F1E8"}, - "TD": {"emoji": "๐Ÿ‡น๐Ÿ‡ฉ","unicode": "U+1F1F9 U+1F1E9"}, - "TF": {"emoji": "๐Ÿ‡น๐Ÿ‡ซ","unicode": "U+1F1F9 U+1F1EB"}, - "TG": {"emoji": "๐Ÿ‡น๐Ÿ‡ฌ","unicode": "U+1F1F9 U+1F1EC"}, - "TH": {"emoji": "๐Ÿ‡น๐Ÿ‡ญ","unicode": "U+1F1F9 U+1F1ED"}, - "TJ": {"emoji": "๐Ÿ‡น๐Ÿ‡ฏ","unicode": "U+1F1F9 U+1F1EF"}, - "TK": {"emoji": "๐Ÿ‡น๐Ÿ‡ฐ","unicode": "U+1F1F9 U+1F1F0"}, - "TL": {"emoji": "๐Ÿ‡น๐Ÿ‡ฑ","unicode": "U+1F1F9 U+1F1F1"}, - "TM": {"emoji": "๐Ÿ‡น๐Ÿ‡ฒ","unicode": "U+1F1F9 U+1F1F2"}, - "TN": {"emoji": "๐Ÿ‡น๐Ÿ‡ณ","unicode": "U+1F1F9 U+1F1F3"}, - "TO": {"emoji": "๐Ÿ‡น๐Ÿ‡ด","unicode": "U+1F1F9 U+1F1F4"}, - "TR": {"emoji": "๐Ÿ‡น๐Ÿ‡ท","unicode": "U+1F1F9 U+1F1F7"}, - "TT": {"emoji": "๐Ÿ‡น๐Ÿ‡น","unicode": "U+1F1F9 U+1F1F9"}, - "TV": {"emoji": "๐Ÿ‡น๐Ÿ‡ป","unicode": "U+1F1F9 U+1F1FB"}, - "TW": {"emoji": "๐Ÿ‡น๐Ÿ‡ผ","unicode": "U+1F1F9 U+1F1FC"}, - "TZ": {"emoji": "๐Ÿ‡น๐Ÿ‡ฟ","unicode": "U+1F1F9 U+1F1FF"}, - "UA": {"emoji": "๐Ÿ‡บ๐Ÿ‡ฆ","unicode": "U+1F1FA U+1F1E6"}, - "UG": {"emoji": "๐Ÿ‡บ๐Ÿ‡ฌ","unicode": "U+1F1FA U+1F1EC"}, - "UM": {"emoji": "๐Ÿ‡บ๐Ÿ‡ฒ","unicode": "U+1F1FA U+1F1F2"}, - "US": {"emoji": "๐Ÿ‡บ๐Ÿ‡ธ","unicode": "U+1F1FA U+1F1F8"}, - "UY": {"emoji": "๐Ÿ‡บ๐Ÿ‡พ","unicode": "U+1F1FA U+1F1FE"}, - "UZ": {"emoji": "๐Ÿ‡บ๐Ÿ‡ฟ","unicode": "U+1F1FA U+1F1FF"}, - "VA": {"emoji": "๐Ÿ‡ป๐Ÿ‡ฆ","unicode": "U+1F1FB U+1F1E6"}, - "VC": {"emoji": "๐Ÿ‡ป๐Ÿ‡จ","unicode": "U+1F1FB U+1F1E8"}, - "VE": {"emoji": "๐Ÿ‡ป๐Ÿ‡ช","unicode": "U+1F1FB U+1F1EA"}, - "VG": {"emoji": "๐Ÿ‡ป๐Ÿ‡ฌ","unicode": "U+1F1FB U+1F1EC"}, - "VI": {"emoji": "๐Ÿ‡ป๐Ÿ‡ฎ","unicode": "U+1F1FB U+1F1EE"}, - "VN": {"emoji": "๐Ÿ‡ป๐Ÿ‡ณ","unicode": "U+1F1FB U+1F1F3"}, - "VU": {"emoji": "๐Ÿ‡ป๐Ÿ‡บ","unicode": "U+1F1FB U+1F1FA"}, - "WF": {"emoji": "๐Ÿ‡ผ๐Ÿ‡ซ","unicode": "U+1F1FC U+1F1EB"}, - "WS": {"emoji": "๐Ÿ‡ผ๐Ÿ‡ธ","unicode": "U+1F1FC U+1F1F8"}, - "XK": {"emoji": "๐Ÿ‡ฝ๐Ÿ‡ฐ","unicode": "U+1F1FD U+1F1F0"}, - "YE": {"emoji": "๐Ÿ‡พ๐Ÿ‡ช","unicode": "U+1F1FE U+1F1EA"}, - "YT": {"emoji": "๐Ÿ‡พ๐Ÿ‡น","unicode": "U+1F1FE U+1F1F9"}, - "ZA": {"emoji": "๐Ÿ‡ฟ๐Ÿ‡ฆ","unicode": "U+1F1FF U+1F1E6"}, - "ZM": {"emoji": "๐Ÿ‡ฟ๐Ÿ‡ฒ","unicode": "U+1F1FF U+1F1F2"}, - "ZW": {"emoji": "๐Ÿ‡ฟ๐Ÿ‡ผ","unicode": "U+1F1FF U+1F1FC"} -} diff --git a/ipinfo/handler.py b/ipinfo/handler.py index 3c1cb92..7f35702 100644 --- a/ipinfo/handler.py +++ b/ipinfo/handler.py @@ -3,9 +3,6 @@ """ from ipaddress import IPv4Address, IPv6Address -import json -import os -import sys import time import requests @@ -16,11 +13,6 @@ from .exceptions import RequestQuotaExceededError, TimeoutExceededError from .handler_utils import ( API_URL, - COUNTRY_FILE_DEFAULT, - COUNTRY_EU_FILE_DEFAULT, - COUNTRY_FLAG_FILE_DEFAULT, - COUNTRY_CURRENCY_FILE_DEFAULT, - CONTINENT_FILE_DEFAULT, BATCH_MAX_SIZE, CACHE_MAXSIZE, CACHE_TTL, @@ -30,6 +22,13 @@ ) from . import handler_utils from .bogon import is_bogon +from .data import ( + continents, + countries, + countries_currencies, + eu_countries, + countries_flags, +) class Handler: @@ -46,39 +45,21 @@ def __init__(self, access_token=None, **kwargs): self.access_token = access_token # load countries file - self.countries = handler_utils.read_json_file( - kwargs.get("countries_file") - if kwargs.get("countries_file") - else COUNTRY_FILE_DEFAULT - ) + self.countries = kwargs.get("countries") or countries # load eu countries file - self.eu_countries = handler_utils.read_json_file( - kwargs.get("eu_countries_file") - if kwargs.get("eu_countries_file") - else COUNTRY_EU_FILE_DEFAULT - ) + self.eu_countries = kwargs.get("eu_countries") or eu_countries # load countries flags file - self.countries_flags = handler_utils.read_json_file( - kwargs.get("countries_flags_file") - if kwargs.get("countries_flags_file") - else COUNTRY_FLAG_FILE_DEFAULT - ) + self.countries_flags = kwargs.get("countries_flags") or countries_flags # load countries currency file - self.countries_currencies = handler_utils.read_json_file( - kwargs.get("countries_currencies_file") - if kwargs.get("countries_currencies_file") - else COUNTRY_CURRENCY_FILE_DEFAULT + self.countries_currencies = ( + kwargs.get("countries_currencies") or countries_currencies ) # load continent file - self.continents = handler_utils.read_json_file( - kwargs.get("continent_file") - if kwargs.get("continent_file") - else CONTINENT_FILE_DEFAULT - ) + self.continents = kwargs.get("continent") or continents # setup req opts self.request_options = kwargs.get("request_options", {}) diff --git a/ipinfo/handler_async.py b/ipinfo/handler_async.py index 9567584..52284ef 100644 --- a/ipinfo/handler_async.py +++ b/ipinfo/handler_async.py @@ -5,8 +5,6 @@ from ipaddress import IPv4Address, IPv6Address import asyncio import json -import os -import sys import time import aiohttp @@ -17,11 +15,6 @@ from .exceptions import RequestQuotaExceededError, TimeoutExceededError from .handler_utils import ( API_URL, - COUNTRY_EU_FILE_DEFAULT, - COUNTRY_FILE_DEFAULT, - COUNTRY_FLAG_FILE_DEFAULT, - COUNTRY_CURRENCY_FILE_DEFAULT, - CONTINENT_FILE_DEFAULT, BATCH_MAX_SIZE, CACHE_MAXSIZE, CACHE_TTL, @@ -31,6 +24,13 @@ ) from . import handler_utils from .bogon import is_bogon +from .data import ( + continents, + countries, + countries_currencies, + eu_countries, + countries_flags, +) class AsyncHandler: @@ -47,39 +47,21 @@ def __init__(self, access_token=None, **kwargs): self.access_token = access_token # load countries file - self.countries = handler_utils.read_json_file( - kwargs.get("countries_file") - if kwargs.get("countries_file") - else COUNTRY_FILE_DEFAULT - ) + self.countries = kwargs.get("countries") or countries # load eu countries file - self.eu_countries = handler_utils.read_json_file( - kwargs.get("eu_countries_file") - if kwargs.get("eu_countries_file") - else COUNTRY_EU_FILE_DEFAULT - ) + self.eu_countries = kwargs.get("eu_countries") or eu_countries # load countries flags file - self.countries_flags = handler_utils.read_json_file( - kwargs.get("countries_flags_file") - if kwargs.get("countries_flags_file") - else COUNTRY_FLAG_FILE_DEFAULT - ) + self.countries_flags = kwargs.get("countries_flags") or countries_flags # load countries currency file - self.countries_currencies = handler_utils.read_json_file( - kwargs.get("countries_currencies_file") - if kwargs.get("countries_currencies_file") - else COUNTRY_CURRENCY_FILE_DEFAULT + self.countries_currencies = ( + kwargs.get("countries_currencies") or countries_currencies ) # load continent file - self.continents = handler_utils.read_json_file( - kwargs.get("continent_file") - if kwargs.get("continent_file") - else CONTINENT_FILE_DEFAULT - ) + self.continents = kwargs.get("continent") or continents # setup req opts self.request_options = kwargs.get("request_options", {}) diff --git a/ipinfo/handler_utils.py b/ipinfo/handler_utils.py index 3cc0f34..782dfa2 100644 --- a/ipinfo/handler_utils.py +++ b/ipinfo/handler_utils.py @@ -16,18 +16,6 @@ # "PK" -> "https://cdn.ipinfo.io/static/images/countries-flags/PK.svg" COUNTRY_FLAGS_URL = "https://cdn.ipinfo.io/static/images/countries-flags/" -# Used to transform incoming responses with country abbreviations into the full -# expanded country name, e.g. "PK" -> "Pakistan". -COUNTRY_FILE_DEFAULT = "countries.json" - -COUNTRY_EU_FILE_DEFAULT = "eu.json" - -COUNTRY_FLAG_FILE_DEFAULT = "flags.json" - -COUNTRY_CURRENCY_FILE_DEFAULT = "currency.json" - -CONTINENT_FILE_DEFAULT = "continent.json" - # The max amount of IPs allowed by the API per batch request. BATCH_MAX_SIZE = 1000 diff --git a/tests/handler_async_test.py b/tests/handler_async_test.py index 0de97e2..e8206cb 100644 --- a/tests/handler_async_test.py +++ b/tests/handler_async_test.py @@ -181,6 +181,7 @@ async def test_get_batch_details_total_timeout(batch_size): # BOGON TESTS ############# + @pytest.mark.asyncio async def test_bogon_details(): token = os.environ.get("IPINFO_TOKEN", "")