User:Bxj/ParseFlags.groovy
Appearance
This script parses, e.g., {{Flag|Taiwan}} to {{TWN}}. See http://en.wikipedia.org/w/index.php?title=List_of_countries_by_credit_rating&diff=prev&oldid=441633999 for result.
def data = [["ABW","Aruba"],
["AFG","Afghanistan"],
["AGO","Angola"],
["AIA","Anguilla"],
["ALA","Åland Islands"],
["ALB","Albania"],
["AND","Andorra"],
["ARE","United Arab Emirates"],
["ARG","Argentina"],
["ARM","Armenia"],
["ASM","American Samoa"],
["ATA","Antarctica"],
["ATF","French Southern Territories"],
["ATG","Antigua and Barbuda"],
["AUS","Australia"],
["AUT","Austria"],
["AZE","Azerbaijan"],
["BDI","Burundi"],
["BEL","Belgium"],
["BEN","Benin"],
["BES","Bonaire"],
["BFA","Burkina Faso"],
["BGD","Bangladesh"],
["BGR","Bulgaria"],
["BHR","Bahrain"],
["BHS","Bahamas"],
["BIH","Bosnia and Herzegovina"],
["BLM","Saint Barthélemy"],
["BLR","Belarus"],
["BLZ","Belize"],
["BMU","Bermuda"],
["BOL","Bolivia"],
["BRA","Brazil"],
["BRB","Barbados"],
["BRN","Brunei Darussalam"],
["BTN","Bhutan"],
["BVT","Bouvet Island"],
["BWA","Botswana"],
["CAF","Central African Republic"],
["CAN","Canada"],
["CCK","Cocos (Keeling) Islands"],
["CHE","Switzerland"],
["CHL","Chile"],
["CHN","China"],
["CIV","Côte d'Ivoire"],
["CMR","Cameroon"],
["COD","Congo, the Democratic Republic of the"],
["COG","Congo"],
["COK","Cook Islands"],
["COL","Colombia"],
["COM","Comoros"],
["CPV","Cape Verde"],
["CRI","Costa Rica"],
["CUB","Cuba"],
["CUW","Curaçao"],
["CXR","Christmas Island"],
["CYM","Cayman Islands"],
["CYP","Cyprus"],
["CZE","Czech Republic"],
["DEU","Germany"],
["DJI","Djibouti"],
["DMA","Dominica"],
["DNK","Denmark"],
["DOM","Dominican Republic"],
["DZA","Algeria"],
["ECU","Ecuador"],
["EGY","Egypt"],
["ERI","Eritrea"],
["ESH","Western Sahara"],
["ESP","Spain"],
["EST","Estonia"],
["ETH","Ethiopia"],
["FIN","Finland"],
["FJI","Fiji"],
["FLK","Falkland Islands (Malvinas)"],
["FRA","France"],
["FRO","Faroe Islands"],
["FSM","Micronesia"],
["GAB","Gabon"],
["GBR","United Kingdom"],
["GEO","Georgia"],
["GGY","Guernsey"],
["GHA","Ghana"],
["GIB","Gibraltar"],
["GIN","Guinea"],
["GLP","Guadeloupe"],
["GMB","Gambia"],
["GNB","Guinea-Bissau"],
["GNQ","Equatorial Guinea"],
["GRC","Greece"],
["GRD","Grenada"],
["GRL","Greenland"],
["GTM","Guatemala"],
["GUF","French Guiana"],
["GUM","Guam"],
["GUY","Guyana"],
["HKG","Hong Kong"],
["HMD","Heard Island and McDonald Islands"],
["HND","Honduras"],
["HRV","Croatia"],
["HTI","Haiti"],
["HUN","Hungary"],
["IDN","Indonesia"],
["IMN","Isle of Man"],
["IND","India"],
["IOT","British Indian Ocean Territory"],
["IRL","Ireland"],
["IRN","Iran"],
["IRQ","Iraq"],
["ISL","Iceland"],
["ISR","Israel"],
["ITA","Italy"],
["JAM","Jamaica"],
["JEY","Jersey"],
["JOR","Jordan"],
["JPN","Japan"],
["KAZ","Kazakhstan"],
["KEN","Kenya"],
["KGZ","Kyrgyzstan"],
["KHM","Cambodia"],
["KIR","Kiribati"],
["KNA","Saint Kitts and Nevis"],
["KOR","South Korea"],
["KWT","Kuwait"],
["LAO","Lao People's Democratic Republic"],
["LBN","Lebanon"],
["LBR","Liberia"],
["LBY","Libya"],
["LCA","Saint Lucia"],
["LIE","Liechtenstein"],
["LKA","Sri Lanka"],
["LSO","Lesotho"],
["LTU","Lithuania"],
["LUX","Luxembourg"],
["LVA","Latvia"],
["MAC","Macao"],
["MAF","Saint Martin (French part)"],
["MAR","Morocco"],
["MCO","Monaco"],
["MDA","Moldova"],
["MDG","Madagascar"],
["MDV","Maldives"],
["MEX","Mexico"],
["MHL","Marshall Islands"],
["MKD","Macedonia"],
["MLI","Mali"],
["MLT","Malta"],
["MMR","Myanmar"],
["MNE","Montenegro"],
["MNG","Mongolia"],
["MNP","Northern Mariana Islands"],
["MOZ","Mozambique"],
["MRT","Mauritania"],
["MSR","Montserrat"],
["MTQ","Martinique"],
["MUS","Mauritius"],
["MWI","Malawi"],
["MYS","Malaysia"],
["MYT","Mayotte"],
["NAM","Namibia"],
["NCL","New Caledonia"],
["NER","Niger"],
["NFK","Norfolk Island"],
["NGA","Nigeria"],
["NIC","Nicaragua"],
["NIU","Niue"],
["NLD","Netherlands"],
["NOR","Norway"],
["NPL","Nepal"],
["NRU","Nauru"],
["NZL","New Zealand"],
["OMN","Oman"],
["PAK","Pakistan"],
["PAN","Panama"],
["PCN","Pitcairn"],
["PER","Peru"],
["PHL","Philippines"],
["PLW","Palau"],
["PNG","Papua New Guinea"],
["POL","Poland"],
["PRI","Puerto Rico"],
["PRK","North Korea"],
["PRT","Portugal"],
["PRY","Paraguay"],
["PSE","Palestine"],
["PYF","French Polynesia"],
["QAT","Qatar"],
["REU","Réunion"],
["ROU","Romania"],
["RUS","Russia"],
["RWA","Rwanda"],
["SAU","Saudi Arabia"],
["SDN","Sudan"],
["SEN","Senegal"],
["SGP","Singapore"],
["SGS","South Georgia and the South Sandwich Islands"],
["SHN","Saint Helena"],
["SJM","Svalbard and Jan Mayen"],
["SLB","Solomon Islands"],
["SLE","Sierra Leone"],
["SLV","El Salvador"],
["SMR","San Marino"],
["SOM","Somalia"],
["SPM","Saint Pierre and Miquelon"],
["SRB","Serbia"],
["STP","Sao Tome and Principe"],
["SUR","Suriname"],
["SVK","Slovakia"],
["SVN","Slovenia"],
["SWE","Sweden"],
["SWZ","Swaziland"],
["SXM","Sint Maarten (Dutch part)"],
["SYC","Seychelles"],
["SYR","Syrian Arab Republic"],
["TCA","Turks and Caicos Islands"],
["TCD","Chad"],
["TGO","Togo"],
["THA","Thailand"],
["TJK","Tajikistan"],
["TKL","Tokelau"],
["TKM","Turkmenistan"],
["TLS","Timor-Leste"],
["TON","Tonga"],
["TTO","Trinidad and Tobago"],
["TUN","Tunisia"],
["TUR","Turkey"],
["TUV","Tuvalu"],
["TWN","Taiwan"],
["TZA","Tanzania"],
["UGA","Uganda"],
["UKR","Ukraine"],
["UMI","United States Minor Outlying Islands"],
["URY","Uruguay"],
["USA","United States"],
["UZB","Uzbekistan"],
["VAT","Holy See (Vatican City State)"],
["VCT","Saint Vincent and the Grenadines"],
["VEN","Venezuela"],
["VGB","Virgin Islands, British"],
["VIR","Virgin Islands, U.S."],
["VNM","Viet Nam"],
["VUT","Vanuatu"],
["WLF","Wallis and Futuna"],
["WSM","Samoa"],
["YEM","Yemen"],
["ZAF","South Africa"],
["ZMB","Zambia"],
["ZWE","Zimbabwe"]];
File textFile = new File(args[0])
String newValue = textFile.getText("UTF-8").replaceAll(
"\\{\\{flag\\|([A-Za-z,\\. ]+)\\}\\}", {Object[] it ->
data.each { value ->
if (value[1].equals(it[1])) {
it[0] = "{{" + value[0] + "}}";
}
}
it[0];
})
textFile.setText(newValue, "UTF-8");