CyrenCountryLookup

Translates a country code provided by Cyren products to a full country name (English). Uses ISO 3166-1 alpha-2 for the lookup.

python · Cyren Threat InDepth Threat Intelligence

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.