มอดูล:Flagg/Altvar data

จากวิกิพีเดีย สารานุกรมเสรี
Documentation icon คู่มือการใช้งานมอดูล[สร้าง]
local p = {}

function p.alttable(age)

local alt_map = {
["af"]={altlink="อเมริกันฟุตบอลทีมชาติ";altvar="American football"};
["afu"]={altlink="อเมริกันฟุตบอลเยาวชนทีมชาติ";altvar="American football"};
["afw"]={altlink="อเมริกันฟุตบอลหญิงทีมชาติ";altvar="American football"};
["arf"]={altlink="ออสเตรเลียนฟุตบอลทีมชาติ";altvar="Australian rules football";mw="men's"};
["arfw"]={altlink="ออสเตรเลียนฟุตบอลหญิงทีมชาติ";altvar="Australian rules football";mw="women's"};
["bandy"]={altlink="แบนดีทีมชาติ";altvar="bandy"};
["bandyw"]={altlink="แบนดีหญิงทีมชาติ";altvar="bandy";template="bandyW"};
["bb"]={altlink="เบสบอลทีมชาติ";altvar="baseball"};
["bbstate"]={altlink="เบสบอลทีมมหาวิทยาลัย";altvar="baseball";template="bb-state"};
["bbw"]={altlink="เบสบอลหญิงทีมชาติ";altvar="baseball"};
["bd"]={altlink="แบดมินตันทีมชาติ";altvar="badminton"};
["bs"]={altlink="ฟุตบอลชายหาดทีมชาติ";altvar="beach soccer";template="beachsoccer"};
["bsw"]={altlink="ฟุตบอลชายหาดหญิงทีมชาติ";altvar="women's beach soccer";template="beachsoccerwomen"};
["bh"]={altlink="แฮนด์บอลชายหาดทีมชาติ";altvar="beach handball"};
["bhw"]={altlink="แฮนด์บอลชายหาดหญิงทีมชาติ";altvar="beach handball";mw="women's"};
["bk"]={altlink="บาสเกตบอลทีมชาติ";altvar="basketball"};
["bku"]={altlink="บาสเกตบอลทีมชาติ";altvar="basketball";age="รุ่นอายุไม่เกิน "..age.." ปี"};
["bkw"]={altlink="บาสเกตบอลหญิงทีมชาติ";altvar="basketball";mw="women's"};
["bkwu"]={altlink="บาสเกตบอลหญิงทีมชาติ";altvar="basketball";mw="women's";age="รุ่นอายุไม่เกิน "..age.." ปี"};
["cr"]={altlink="คริกเก็ตทีมชาติ";altvar="cricket"};
["cr19"]={altlink="คริกเก็ตทีมชาติ";altvar="cricket";age="รุ่นอายุไม่เกิน 19 ปี"};
["crw"]={altlink="คริกเก็ตหญิงทีมชาติ";altvar="cricket";mw="women's"};
["davis"]={altlink="เทนนิสเดวิสคัพทีมชาติ";altvar="tennis";mw="Davis"};
["fb"]={altlink="ฟุตบอลทีมชาติ";altvar="football"};
["fba"]={altlink="สมาคมฟุตบอล";altvar="football"};
["fbl"]={altlink="A' national football team";altvar="football";mw="A'"};
["fbm"]={altlink="ฟุตบอลกองทัพ";altvar="football"};
["fbo"]={altlink="ฟุตบอลโอลิมปิกทีมชาติ";altvar="football";mw="Olympic"};
["fbu"]={altlink="ฟุตบอลทีมชาติ";altvar="football";age="รุ่นอายุไม่เกิน "..age.." ปี"};
["fbw"]={altlink="ฟุตบอลหญิงทีมชาติ";altvar="football";mw="women's"};
["fbwm"]={altlink="ฟุตบอลหญิงกองทัพ";altvar="football";mw="women's"};
["fbwu"]={altlink="ฟุตบอลหญิงทีมชาติ";altvar="football";mw="women's";age="รุ่นอายุไม่เกิน "..age.." ปี"};
["fed"]={altlink="เทนนิสเฟดคัพทีมชาติ";altvar="tennis";mw="Fed"};
["fhm"]={altlink="ฮอกกี้ชายทีมชาติ";altvar="field hockey";mw="men's"};
["fhw"]={altlink="ฮอกกี้หญิงทีมชาติ";altvar="field hockey";mw="women's"};
["fl"]={altlink="ฟลอร์บอลชายทีมชาติ";altvar="floorball";mw="men's"};
["flu"]={altlink="ฟลอร์บอลชายทีมชาติ";altvar="floorball";mw="men's";age="รุ่นอายุไม่เกิน 19 ปี"};
["flw"]={altlink="ฟลอร์บอลหญิงทีมชาติ";altvar="floorball";mw="women's"};
["flwu"]={altlink="ฟลอร์บอลหญิงทีมชาติ";altvar="floorball";mw="women's";age="รุ่นอายุไม่เกิน 19 ปี";template="flw19"};
["fsw"]={altlink="ฟุตซอลหญิงทีมชาติ";altvar="futsal";mw="women's"};
["fs"]={altlink="ฟุตซอลทีมชาติ";altvar="futsal";template="futsal"};
["gb"]={altlink="โกลบอลชายทีมชาติ";altvar="goalball";mw="men's"};
["gbw"]={altlink="โกลบอลหญิงทีมชาติ";altvar="goalball";mw="women's"};
["hb"]={altlink="แฮนด์บอลทีมชาติ";altvar="handball"};
["hbj"]={altlink="แฮนด์บอลเยาวชนทีมชาติ";altvar="handball";age="รุ่นอายุไม่เกิน 20 ปี"};
["hbw"]={altlink="แฮนด์บอลหญิงทีมชาติ";altvar="handball";mw="women's"};
["hbwj"]={altlink="แฮนด์บอลเยาวชนหญิงทีมชาติ";altvar="handball";age="รุ่นอายุไม่เกิน 19 ปี"};
["hbwy"]={altlink="แฮนด์บอลเยาวชนหญิงทีมชาติ";altvar="handball";mw="women's";age="รุ่นอายุไม่เกิน 17 ปี"};
["hby"]={altlink="แฮนด์บอลเยาวชนทีมชาติ";altvar="handball";age="รุ่นอายุไม่เกิน 18 ปี"};
["hopman"]={altlink="เทนนิสฮอปแมนคัพทีมชาติ";altvar="tennis";mw="Hopman"};
["iflm"]={altlink="ลาครอสชายทีมชาติ";altvar="lacrosse";mw="men's"};
["iflw"]={altlink="ลาครอสหญิงทีมชาติ";altvar="lacrosse";mw="women's"};
["iflwu"]={altlink="ลาครอสหญิงทีมชาติ";altvar="lacrosse";mw="women's";template="iflwu19";age="รุ่นอายุไม่เกิน 19 ปี"};
["ih"]={altlink="ฮอกกี้น้ำแข็งทีมชาติ";altvar="ice hockey";mw="men's"};
["ih18"]={altlink="ฮอกกี้น้ำแข็งทีมชาติ";altvar="ice hockey";mw="men's";age="รุ่นอายุไม่เกิน 18 ปี"};
["ihj"]={altlink="ฮอกกี้น้ำแข็งเยาวชนทีมชาติ";altvar="ice hockey";mw="men's";age="junior"};
["ihw"]={altlink="ฮอกกี้น้ำแข็งหญิงทีมชาติ";altvar="ice hockey";mw="women's"};
["ihw18"]={altlink="ฮอกกี้น้ำแข็งหญิงทีมชาติ";altvar="ice hockey";mw="women's";age="รุ่นอายุไม่เกิน 18 ปี"};
["iih"]={altlink="ฮอกกี้อินไลน์ชายทีมชาติ";altvar="inline hockey"};
["iihj"]={altlink="ฮอกกี้อินไลน์เยาวชนชายทีมชาติ";altvar="inline hockey";mw="junior"};
["iihw"]={altlink="ฮอกกี้อินไลน์หญิงทีมชาติ";altvar="inline hockey";mw="women's"};
["iil"]={altlink="ลาครอสในร่มทีมชาติ";altvar="lacrosse";mw="men's"};
["ish"]={altlink="ฮอกกี้น้ำแข็งคนพิการทีมชาติ";altvar="sledge hockey"};
["kd"]={altlink="กาบัดดี้ทีมชาติ";altvar="Kabaddi"};
["korf"]={altlink="คอร์ฟบอลทีมชาติ";altvar="korfball"};
["nb"]={altlink="เน็ตบอลทีมชาติ";altvar="netball"};
["p&p"]={altlink="พิตช์แอนด์พัตต์ชายทีมชาติ";altvar="pitch and putt"};
["rhm"]={altlink="โรลเลอร์ฮอกกี้ทีมชาติ";altvar="roller hockey";mw="men's"};
["rhw"]={altlink="โรลเลอร์ฮอกกี้หญิงทีมชาติ";altvar="roller hockey";mw="women's"};
["rl"]={altlink="รักบี้ลีกทีมชาติ";altvar="rugby league"};
["rollerderby"]={altlink="โรลเลอร์เดอร์บีทีมชาติ";altvar="roller derby";template="RollerDerby"};
["ru"]={altlink="รักบี้ยูเนียนทีมชาติ";altvar="rugby union"};
["ru7"]={altlink="รักบี้ 7 คนทีมชาติ";altvar="rugby sevens"};
["ru7w"]={altlink="รักบี้ 7 คนหญิงทีมชาติ";altvar="rugby sevens";mw="women's"};
["rua"]={altlink="A national rugby union team";altvar="rugby union-a";template="ruA"};
["ruu"]={altlink="รักบี้ยูเนียนทีมชาติ";altvar="rugby union";age="รุ่นอายุไม่เกิน "..age.." ปี"};
["ruw"]={altlink="รักบี้ยูเนียนหญิงทีมชาติ";altvar="rugby union";mw="women's"};
["sb"]={altlink="ซอฟต์บอลชายทีมชาติ";altvar="softball";mw="men's"};
["sbw"]={altlink="ซอฟต์บอลหญิงทีมชาติ";altvar="softball";mw="women's"};
["speedway"]={altlink="สปีดเวย์ทีมชาติ";altvar="speedway"};
["speedwaylt"]={altlink="ลองแทร็กทีมชาติ";altvar="long track";template="speedwayLT"};
["svb"]={altlink="วอลเลย์บอลคนพิการชายทีมชาติ";altvar="sitting volleyball";mw="men's"};
["svbw"]={altlink="วอลเลย์บอลคนพิการหญิงทีมชาติ";altvar="sitting volleyball";mw="women's"};
["vb"]={altlink="วอลเลย์บอลชายทีมชาติ";altvar="volleyball";mw="men's"};
["vbu"]={altlink="วอลเลย์บอลชายทีมชาติ";altvar="volleyball";age="รุ่นอายุไม่เกิน "..age.." ปี"};
["vbw"]={altlink="วอลเลย์บอลหญิงทีมชาติ";altvar="volleyball";mw="women's"};
["vbwu"]={altlink="วอลเลย์บอลหญิงทีมชาติ";altvar="volleyball";mw="women's";age="รุ่นอายุไม่เกิน "..age.." ปี"};
["wbk"]={altlink="บาสเกตบอลคนพิการชายทีมชาติ";altvar="wheelchair basketball"};
["wbkw"]={altlink="บาสเกตบอลคนพิการหญิงทีมชาติ";altvar="wheelchair basketball";mw="women's"};
["whr"]={altlink="รักบี้คนพิการทีมชาติ";altvar="wheelchair rugby"};
["wightman"]={altlink="เทนนิสไวต์แมนคัพทีมชาติ";altvar="tennis";mw="Wightman"};
["wp"]={altlink="โปโลน้ำชายทีมชาติ";altvar="water polo"};
["wpw"]={altlink="โปโลน้ำหญิงทีมชาติ";altvar="water polo";mw="women's"};
["airforce"]={altlink="กองทัพอากาศ";altvar="air force";template="air force"};
["army"]={altlink="กองทัพบก";altvar="army"};
["navy"]={altlink="กองทัพเรือ";altvar="naval"}
}

local alt_aliases = {
["a'football"]="fbl";
["americanfootball"]="af";
["australianrulesfootball"]="arf";
["badminton"]="bd";
["baseball"]="bb";
["baseballstate"]="bbstate";
["beachhandball"]="bh";
["beachsoccer"]="bs";
["beachsoccerwomen"]="bsw";
["basketball"]="bk";
["cricket"]="cr";
["daviscup"]="davis";
["fedcup"]="fed";
["football"]="fb";
["footballassociation"]="fba";
["fh"]="fhm";
["fieldhockey"]="fhm";
["fl19"]="flu";
["floorball"]="fl";
["flw19"]="flwu";
["flwu19"]="flwu";
["futsal"]="fs";
["goalball"]="gb";
["handball"]="hb";
["hopmancup"]="hopman";
["icehockey"]="ih";
["icesledgehockey"]="ish";
["iflwu19"]="iflwu";
["indoorlacrosse"]="iil";
["inlinehockey"]="iih";
["junioramericanfootball"]="afu";
["juniorhandball"]="hbj";
["junioricehockey"]="ihj";
["juniorinlinehockey"]="iihj";
["kabaddi"]="kd";
["korfball"]="korf";
["lacrosse"]="iflm";
["men'sfieldhockey"]="fhm";
["men'slacrosse"]="iflm";
["militaryfootball"]="fbm";
["netball"]="nb";
["olympicfootball"]="fbo";
["pitchandputt"]="p&p";
["rollerhockey"]="rhm";
["rugbyleague"]="rl";
["rugbysevens"]="ru7";
["rugbyunion"]="ru";
["rugbyuniona"]="rua";
["rugbyunionsevens"]="ru7";
["softball"]="sb";
["longtrack"]="speedwaylt";
["sittingvolleyvall"]="svb";
["under18icehockey"]="ih18";
["under19cricket"]="cr19";
["volleyball"]="vb";
["waterpolo"]="wp";
["wheelchairbasketball"]="wbk";
["wheelchairrugby"]="whr";
["wightmancup"]="wightman";
["women'samericanfootball"]="afw";
["women'saustralianrulesfootball"]="arfw";
["women'sbandy"]="bandyw";
["women'sbaseball"]="bbw";
["women'sbasketball"]="bkw";
["women'sbeachhandball"]="bhw";
["women'sbeachsoccer"]="bsw";
["women'scricket"]="crw";
["women'sfieldhockey"]="fhw";
["women'sfloorball"]="flw";
["women'sfootball"]="fbw";
["women'sfutsal"]="fsw";
["women'sgoalball"]="gbw";
["women'shandball"]="hbw";
["women'sicehockey"]="ihw";
["women'sinlinehockey"]="iihw";
["women'srollerhockey"]="rhw";
["women'sunder18icehockey"]="ihw18";
["women'sjuniorhandball"]="hbwj";
["women'slacrosse"]="iflw";
["women'smilitaryfootball"]="fbwm";
["women'srugbysevens"]="ru7w";
["women'srugbyunion"]="ruw";
["women'srugbyunionsevens"]="ru7w";
["women'ssittingvolleyvall"]="svbw";
["women'ssoftball"]="sbw";
["women'svolleyball"]="vbw";
["women'swaterpolo"]="wpw";
["women'swheelchairbasketball"]="wbkw";
["women'syouthbasketball"]="bkwu";
["women'syouthfootball"]="fbwu";
["women'syouthhandball"]="hbwy";
["youthbasketball"]="bku";
["youthcricket"]="cr19";
["youthfootball"]="fbu";
["youthhandball"]="hby";
["youthrugbyunion"]="ruu"
}

return alt_map, alt_aliases

end

function p.list_all(frame)

--Load data
local alt_map, alt_aliases = p.alttable("''<span style=\"color:green;\">age</span>''")

--Add aliases to map table
for k,v in pairs(alt_map) do
  alt_map[k].aliases = {}
end
local wrong_aliases = {}
table.sort(alt_aliases)
for k,v in pairs(alt_aliases) do
  if alt_map[v]
    then table.insert(alt_map[v].aliases,k)
    else table.insert(wrong_aliases,k)
  end
end

--Create html table & header row
local list = mw.html.create("table")
list:addClass("wikitable sortable collapsible")
local head = list:tag("tr")
head:tag("th"):wikitext("Code")
head:tag("th"):wikitext("Aliases")
head:tag("th"):wikitext("Altlink (suffix)")
head:tag("th"):wikitext("Altvar")
head:tag("th"):wikitext("Template")

--Append rows to create table body
table.sort(alt_map)
for k,v in pairs(alt_map) do
  local row = list:tag("tr")
  local temp = alt_map[k].template or k
  row:tag("td"):wikitext("<code>"..k.."</code>")
  row:tag("td"):wikitext("<code>"..table.concat(alt_map[k].aliases,"</code><br/><code>").."</code>")
  row:tag("td"):wikitext(alt_map[k].altlink)
  row:tag("td"):wikitext(alt_map[k].altvar)
  row:tag("td"):wikitext("[[Template:"..temp.."|"..temp.."]]")
end
if #wrong_aliases > 0 then
  local wrong_list = "These aliases point to non-existing data: <code>"..table.concat(wrong_aliases,"</code> <code>").."</code>"
  list:tag("tr"):tag("td"):attr("colspan","4"):css("color","red"):wikitext(wrong_list)
end

return list

end

return p