Module:Related topics category: Difference between revisions

From AlternateWiki
Content deleted Content added
No edit summary
No edit summary
 
(One intermediate revision by the same user not shown)
Line 2: Line 2:


local parents = {
local parents = {
["Latin America"] = 0,
["Asia"] = {0},
["Brazil"] = "Latin America",
["Afghanistan"] = {"Asia"},
["Europe"] = 0,
["Armenia"] = {"Asia"},
["United Kingdom"] = "Europe",
["Azerbaijan"] = {"Asia", "Europe"},
["Bahrain"] = {"Asia"},
["Havering"] = "United Kingdom"
["Bangladesh"] = {"Asia"},
["Bhutan"] = {"Asia"},
["British Indian Ocean Territory"] = {"Asia"},
["Brunei"] = {"Asia"},
["Cambodia"] = {"Asia"},
["China"] = {"Asia"},
["Christmas Island"] = {"Asia"},
["Cocos Islands"] = {"Asia"},
["Georgia"] = {"Asia", "Europe"},
["Hong Kong"] = {"Asia"},
["India"] = {"Asia"},
["Indonesia"] = {"Asia"},
["Iran"] = {"Asia"},
["Iraq"] = {"Asia"},
["Israel"] = {"Asia"},
["Japan"] = {"Asia"},
["Jordan"] = {"Asia"},
["Kazakhstan"] = {"Asia", "Europe"},
["Kuwait"] = {"Asia"},
["Kyrgyzstan"] = {"Asia"},
["Laos"] = {"Asia"},
["Lebanon"] = {"Asia"},
["Macau"] = {"Asia"},
["Malaysia"] = {"Asia"},
["Maldives"] = {"Asia"},
["Mongolia"] = {"Asia"},
["Myanmar"] = {"Asia"},
["Nepal"] = {"Asia"},
["North Korea"] = {"Asia"},
["Oman"] = {"Asia"},
["Pakistan"] = {"Asia"},
["Palestine"] = {"Asia"},
["Philippines"] = {"Asia"},
["Qatar"] = {"Asia"},
["Saudi Arabia"] = {"Asia"},
["Singapore"] = {"Asia"},
["South Korea"] = {"Asia"},
["Sri Lanka"] = {"Asia"},
["Syria"] = {"Asia"},
["Taiwan"] = {"Asia"},
["Tajikistan"] = {"Asia"},
["Thailand"] = {"Asia"},
["Turkey"] = {"Asia", "Europe"},
["Turkmenistan"] = {"Asia"},
["United Arab Emirates"] = {"Asia"},
["Uzbekistan"] = {"Asia"},
["Vietnam"] = {"Asia"},
["Yemen"] = {"Asia"},
["Europe"] = {0},
["Albania"] = {"Europe"},
["Andorra"] = {"Europe"},
["Austria"] = {"Europe"},
["Belarus"] = {"Europe"},
["Belgium"] = {"Europe"},
["Bosnia and Herzegovina"] = {"Europe"},
["Bulgaria"] = {"Europe"},
["Croatia"] = {"Europe"},
["Cyprus"] = {"Europe"},
["Czechia"] = {"Europe"},
["Denmark"] = {"Europe"},
["Estonia"] = {"Europe"},
["Faroe Islands"] = {"Europe"},
["Finland"] = {"Europe"},
["France"] = {"Europe"},
["Germany"] = {"Europe"},
["Gibraltar"] = {"Europe"},
["Greece"] = {"Europe"},
["Guernsey"] = {"Europe"},
["Hungary"] = {"Europe"},
["Iceland"] = {"Europe"},
["Ireland"] = {"Europe"},
["Isle of Man"] = {"Europe"},
["Italy"] = {"Europe"},
["Jersey"] = {"Europe"},
["Kosovo"] = {"Europe"},
["Latvia"] = {"Europe"},
["Liechtenstein"] = {"Europe"},
["Lithuania"] = {"Europe"},
["Luxembourg"] = {"Europe"},
["Macedonia"] = {"Europe"},
["Malta"] = {"Europe"},
["Moldova"] = {"Europe"},
["Monaco"] = {"Europe"},
["Montenegro"] = {"Europe"},
["Netherlands"] = {"Europe"},
["Norway"] = {"Europe"},
["Poland"] = {"Europe"},
["Portugal"] = {"Europe"},
["Romania"] = {"Europe"},
["Russia"] = {"Europe", "Asia"},
["San Marino"] = {"Europe"},
["Serbia"] = {"Europe"},
["Slovakia"] = {"Europe"},
["Slovenia"] = {"Europe"},
["Spain"] = {"Europe"},
["Svalbard and Jan Mayen"] = {"Europe"},
["Sweden"] = {"Europe"},
["Switzerland"] = {"Europe"},
["Ukraine"] = {"Europe"},
["United Kingdom"] = {"Europe"},
["Havering"] = {"United Kingdom"},
["Vatican City"] = {"Europe"},
["Africa"] = {0},
["Algeria"] = {"Africa"},
["Angola"] = {"Africa"},
["Benin"] = {"Africa"},
["Botswana"] = {"Africa"},
["Burkina Faso"] = {"Africa"},
["Burundi"] = {"Africa"},
["Cameroon"] = {"Africa"},
["Cape Verde"] = {"Africa"},
["Central African Republic"] = {"Africa"},
["Chad"] = {"Africa"},
["Comoros"] = {"Africa"},
["Democratic Republic of the Congo"] = {"Africa"},
["Djibouti"] = {"Africa"},
["Egypt"] = {"Africa", "Asia"},
["Equatorial Guinea"] = {"Africa"},
["Eritrea"] = {"Africa"},
["Ethiopia"] = {"Africa"},
["Gabon"] = {"Africa"},
["Gambia"] = {"Africa"},
["Ghana"] = {"Africa"},
["Guinea"] = {"Africa"},
["Guinea-Bissau"] = {"Africa"},
["Ivory Coast"] = {"Africa"},
["Kenya"] = {"Africa"},
["Lesotho"] = {"Africa"},
["Liberia"] = {"Africa"},
["Libya"] = {"Africa"},
["Madagascar"] = {"Africa"},
["Malawi"] = {"Africa"},
["Mali"] = {"Africa"},
["Mauritania"] = {"Africa"},
["Mauritius"] = {"Africa"},
["Mayotte"] = {"Africa"},
["Morocco"] = {"Africa"},
["Mozambique"] = {"Africa"},
["Namibia"] = {"Africa"},
["Niger"] = {"Africa"},
["Nigeria"] = {"Africa"},
["Republic of the Congo"] = {"Africa"},
["Reunion"] = {"Africa"},
["Rwanda"] = {"Africa"},
["Saint Helena"] = {"Africa"},
["Sao Tome and Principe"] = {"Africa"},
["Senegal"] = {"Africa"},
["Seychelles"] = {"Africa"},
["Sierra Leone"] = {"Africa"},
["Somalia"] = {"Africa"},
["South Africa"] = {"Africa"},
["South Sudan"] = {"Africa"},
["Sudan"] = {"Africa"},
["Swaziland"] = {"Africa"},
["Tanzania"] = {"Africa"},
["Togo"] = {"Africa"},
["Tunisia"] = {"Africa"},
["Uganda"] = {"Africa"},
["Western Sahara"] = {"Africa"},
["Zambia"] = {"Africa"},
["Zimbabwe"] = {"Africa"},
["Oceania"] = {0},
["American Samoa"] = {"Oceania"},
["Australia"] = {"Oceania"},
["Cook Islands"] = {"Oceania"},
["East Timor"] = {"Oceania"},
["Fiji"] = {"Oceania"},
["French Polynesia"] = {"Oceania"},
["Guam"] = {"Oceania"},
["Kiribati"] = {"Oceania"},
["Marshall Islands"] = {"Oceania"},
["Micronesia"] = {"Oceania"},
["Nauru"] = {"Oceania"},
["New Caledonia"] = {"Oceania"},
["New Zealand"] = {"Oceania"},
["Niue"] = {"Oceania"},
["Northern Mariana Islands"] = {"Oceania"},
["Palau"] = {"Oceania"},
["Papua New Guinea"] = {"Oceania"},
["Pitcairn"] = {"Oceania"},
["Samoa"] = {"Oceania"},
["Solomon Islands"] = {"Oceania"},
["Tokelau"] = {"Oceania"},
["Tonga"] = {"Oceania"},
["Tuvalu"] = {"Oceania"},
["Vanuatu"] = {"Oceania"},
["Wallis and Futuna"] = {"Oceania"},
["North America"] = {0},
["Anguilla"] = {"North America"},
["Antigua and Barbuda"] = {"North America"},
["Aruba"] = {"North America"},
["Bahamas"] = {"North America"},
["Barbados"] = {"North America"},
["Belize"] = {"North America"},
["Bermuda"] = {"North America"},
["British Virgin Islands"] = {"North America"},
["Canada"] = {"North America"},
["Cayman Islands"] = {"North America"},
["Costa Rica"] = {"North America"},
["Cuba"] = {"North America"},
["Curacao"] = {"North America"},
["Dominica"] = {"North America"},
["Dominican Republic"] = {"North America"},
["El Salvador"] = {"North America"},
["Greenland"] = {"North America"},
["Grenada"] = {"North America"},
["Guatemala"] = {"North America"},
["Haiti"] = {"North America"},
["Honduras"] = {"North America"},
["Jamaica"] = {"North America"},
["Mexico"] = {"North America"},
["Montserrat"] = {"North America"},
["Netherlands Antilles"] = {"North America"},
["Nicaragua"] = {"North America"},
["Panama"] = {"North America"},
["Puerto Rico"] = {"North America"},
["Saint Barthelemy"] = {"North America"},
["Saint Kitts and Nevis"] = {"North America"},
["Saint Lucia"] = {"North America"},
["Saint Martin"] = {"North America"},
["Saint Pierre and Miquelon"] = {"North America"},
["Saint Vincent and the Grenadines"] = {"North America"},
["Sint Maarten"] = {"North America"},
["Trinidad and Tobago"] = {"North America"},
["Turks and Caicos Islands"] = {"North America"},
["U.S. Virgin Islands"] = {"North America"},
["United States"] = {"North America"},
["Antarctica"] = {0},
["Antarctica"] = {"Antarctica"},
["South America"] = {0},
["Argentina"] = {"South America"},
["Bolivia"] = {"South America"},
["Brazil"] = {"South America"},
["Chile"] = {"South America"},
["Colombia"] = {"South America"},
["Ecuador"] = {"South America"},
["Falkland Islands"] = {"South America"},
["Guyana"] = {"South America"},
["Paraguay"] = {"South America"},
["Peru"] = {"South America"},
["Suriname"] = {"South America"},
["Uruguay"] = {"South America"},
["Venezuela"] = {"South America"},

["0"] = {} -- An empty list for the root node
}
}


local function getCategoryTree(node)
local function getCategoryTree(node)
local tree = {}
local tree = {}
table.insert(tree, "[[Category:" .. node .. "-related topics]]")

while node and parents[node] do
local function processParents(node)
table.insert(tree, "Category:" .. node .. "-related topics")
node = parents[node]
if parents[node] then
for _, parent in ipairs(parents[node]) do
if parent ~= 0 then
table.insert(tree, "[[Category:" .. parent .. "-related topics]]")
processParents(parent)
end
end
end
end
end


processParents(node)
return table.concat(tree, "")
return table.concat(tree, "")
end
end