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