Modül:Tennis events nav

Vikipedi, özgür ansiklopedi
Modül belgelemesi[oluştur]
-- This module implements [[Template:Infobox tennis tournament event/events]].
-- [SublimeLinter luacheck-globals:mw]

local p = {}
local getBuffer, print = require("Module:OutputBuffer")()

local STYLES = {
	["singlesdoubles"] = {[=[|-
| [[{prefix} {year} {tournament}  - Tekler|Tekler]]
| [[{prefix} {year} {tournamentd}  - Çiftler|Çiftler]]]=]},
		["1"] = "singlesdoubles",
		["men"] = "singlesdoubles",
		["mens"] = "singlesdoubles",
		["women"] = "singlesdoubles",
		["womens"] = "singlesdoubles",
	["risingstarsinvitational"] = {[=[|-
| [[{prefix} {year} {tournament} - Tekler|Tekler]]
| [[{prefix} {year} {tournamentd} - Çiftler|Çiftler]]
|-
| colspan="2" | [[{prefix} {year} {tournament} - Rising Stars Invitational|Rising Stars]]]=]},
	["boysgirlssingles"] = {[=[|-
! scope="row" style="font-weight: normal; text-align: right;" | Tekler 
| [[{prefix} {year} {tournament} - Tek erkekler|erkekler]]
| [[{prefix} {year} {tournament} - Tek kadınlar|kadınlar]]
| [[{prefix} {year} {tournament} - Tek genç erkekler|genç erkekler]]
| [[{prefix} {year} {tournament} - Tek genç kızlar|genç kızlar]]
|-
! scope="row" style="font-weight: normal; text-align: right;" | Çiftler
| [[{prefix} {year} {tournament} - Çift erkekler|erkekler]]
| [[{prefix} {year} {tournament} - Çift kadınlar|kadınlar]]]=]},
		["miamimasters"] = "boysgirlssingles",
	["mixeddoubles"] = {[=[|-
! scope="row" style="font-weight: normal; text-align: right;" | Tekler
| [[{prefix} {year} {tournament} - Tek erkekler|erkekler]]
| [[{prefix} {year} {tournament} - Tek kadınlar|kadınlar]]
|-
! scope="row" style="font-weight: normal; text-align: right;" | Çiftler
| [[{prefix} {year} {tournament} - Çift erkekler|erkekler]]
| [[{prefix} {year} {tournament} - Çift kadınlar|kadınlar]]
| [[{prefix} {year} {tournament} - Karışık çiftler|karışık]]]=]},
		["mixed"] = "mixeddoubles",
		["grandslam"] = "mixeddoubles",
	["mixedandteam"] = {[=[|-
! scope="row" style="font-weight: normal; text-align: right;" | Tekler
| [[{prefix} {year} {tournament} - Tek erkekler|erkekler]]
| [[{prefix} {year} {tournament} - Tek kadınlar|kadınlar]]
|-
! scope="row" style="font-weight: normal; text-align: right;" | Çiftler
| [[{prefix} {year} {tournament}  - Çift erkekler|erkekler]]
| [[{prefix} {year} {tournament} - Çift kadınlar|kadınlar]]
| [[{prefix} {year} {tournament} - Karışık çiftler|karışık]]
|-
! scope="row" style="font-weight: normal; text-align: right;" | Takım
| [[{prefix} {year} {tournament} - Erkekler takım|erkekler]]
| [[{prefix} {year} {tournament} - Kadınlar takım|kadınlar]]]=]},
	["australianopen"] = {[=[|-
! scope="row" style="font-weight: normal; text-align: right;" | Tekler
| [[{year} {tournament} - Tek erkekler|erkekler]]
| [[{year} {tournament} - Tek kadınlar|kadınlar]]
|
| [[{year} {tournament} - Tek genç erkekler|genç erkekler]]
| [[{year} {tournament} - Tek genç kızlar|genç kızlar]]
|-
! scope="row" style="font-weight: normal; text-align: right;" | Çiftler
| [[{year} {tournament} - Çift erkekler|erkekler]]
| [[{year} {tournament} - Çift kadınlar|kadınlar]]
| [[{year} {tournament} - Karışık çiftler|karışık]]
| [[{year} {tournament} - Çift genç erkekler|genç erkekler]]
| [[{year} {tournament} - Çift genç kızlar|genç kızlar]]
|-
! scope="row" style="font-weight: normal; text-align: right;" | Efsaneler
| [[{year} {tournament} - Efsane çift erkekler|erkekler]]
| [[{year} {tournament} - Efsane çift kadınlar|kadınlar]]
| [[{year} {tournament} - Efsane karışık çiftler|karışık]]
|-
! scope="row" style="font-weight: normal; text-align: right;" | Tekerlekli sandalye tekler
| [[{year} {tournament} - Tekerlekli sandalye tek erkekler|erkekler]]
| [[{year} {tournament} - Tekerlekli sandalye tek kadınlar|kadınlar]]
| [[{year} {tournament} - Tekerlekli sandalye tek kuadlar|kuadlar]]
|-
! scope="row" style="font-weight: normal; text-align: right;" | Tekerlekli sandalye çiftler
| [[{year} {tournament} - Tekerlekli sandalye çift erkekler|erkekler]]
| [[{year} {tournament} - Tekerlekli sandalye çift kadınlar|kadınlar]]
| [[{year} {tournament} - Tekerlekli sandalye çift kuadlar|kuadlar]]
]=]},
	["rolandgarros"] = {[=[|-
! scope="row" style="font-weight: normal; text-align: right;" | Tekler
| [[{year} {tournament} - Tek erkekler|erkekler]]
| [[{year} {tournament} - Tek kadınlar|kadınlar]]
|
| [[{year} {tournament} - Tek genç erkekler|genç erkekler]]
| [[{year} {tournament} - Tek genç kızlar|genç kızlar]]
|-
! scope="row" style="font-weight: normal; text-align: right;" | Çiftler
| [[{year} {tournament} - Çift erkekler|erkekler]]
| [[{year} {tournament} - Çift kadınlar|kadınlar]]
| [[{year} {tournament} - Karışık çiftler|karışık]]
| [[{year} {tournament} - Çift genç erkekler|genç erkekler]]
| [[{year} {tournament} - Çift genç kızlar|genç kızlar]]
|-
! scope="row" style="font-weight: normal; text-align: right;" | Efsaneler
| [[{year} {tournament} - 45 yaş altı efsane çiftler|−45]]
| [[{year} {tournament} - 45 yaş üstü efsane çiftler|45+]]
| [[{year} {tournament} - Efsane çift kadınlar|kadınlar]]
|-
! scope="row" style="font-weight: normal; text-align: right;" | Tekerlekli sandalye tekler
| [[{year} {tournament} - Tekerlekli sandalye tek erkekler|erkekler]]
| [[{year} {tournament} - Tekerlekli sandalye tek kadınlar|kadınlar]]
|-
! scope="row" style="font-weight: normal; text-align: right;" | Tekerlekli sandalye çiftler
| [[{year} {tournament} - Tekerlekli sandalye çift erkekler|erkekler]]
| [[{year} {tournament} - Tekerlekli sandalye çift kadınlar|kadınlar]]
]=]},
	["wimbledonchampionships"] = {[=[|-
! scope="row" style="font-weight: normal; text-align: right;" | Tekler
| [[{year} {tournament} - Tek erkekler|erkekler]]
| [[{year} {tournament} - Tek kadınlar|kadınlar]]
|
| [[{year} {tournament} - Tek genç erkekler|genç erkekler]]
| [[{year} {tournament} - Tek genç kızlar|genç kızlar]]
|-
! scope="row" style="font-weight: normal; text-align: right;" | Çiftler
| [[{year} {tournament} - Çift erkekler|erkekler]]
| [[{year} {tournament} - Çift kadınlar|kadınlar]]
| [[{year} {tournament} - Karışık çiftler|karışık]]
| [[{year} {tournament} - Çift genç erkekler|genç erkekler]]
| [[{year} {tournament} - Çift genç kızlar|genç kızlar]]
|-
! scope="row" style="font-weight: normal; text-align: right;" | Efsaneler
| [[{year} {tournament} - Davetli çift erkekler|erkekler]]
| [[{year} {tournament} - Davetli çift kadınlar|kadınlar]]
| [[{year} {tournament} - Büyükler davetli çift erkekler|büyükler]]
|-
! scope="row" style="font-weight: normal; text-align: right;" | Tekerlekli sandalye tekler
| [[{year} {tournament} - Tekerlekli sandalye tek erkekler|erkekler]]
| [[{year} {tournament} - Tekerlekli sandalye tek kadınlar|kadınlar]]
|-
! scope="row" style="font-weight: normal; text-align: right;" | Tekerlekli sandalye çiftler
| [[{year} {tournament} - Tekerlekli sandalye çift erkekler|erkekler]]
| [[{year} {tournament} - Tekerlekli sandalye çift kadınlar|kadınlar]]
]=]},
	["usopen"] = {[=[|-
! scope="row" style="font-weight: normal; text-align: right;" | Tekler
| [[{year} {tournament} - Tek erkekler|erkekler]]
| [[{year} {tournament} - Tek kadınlar|kadınlar]]
|
| [[{year} {tournament} - Tek genç erkekler|genç erkekler]]
| [[{year} {tournament} - Tek genç kızlar|genç kızlar]]
|-
! scope="row" style="font-weight: normal; text-align: right;" | Çiftler
| [[{year} {tournament} - Çift erkekler|erkekler]]
| [[{year} {tournament} - Çift kadınlar|kadınlar]]
| [[{year} {tournament} - Karışık çiftler|karışık]]
| [[{year} {tournament} - Çift genç erkekler|genç erkekler]]
| [[{year} {tournament} - Çift genç kızlar|genç kızlar]]
|-
! scope="row" style="font-weight: normal; text-align: right;" | Efsaneler
| [[{year} {tournament} - Efsane çift erkekler|erkekler]]
| [[{year} {tournament} - Efsane çift kadınlar|kadınlar]]
| [[{year} {tournament} - Efsane karışık çiftler|karışık]]
|-
! scope="row" style="font-weight: normal; text-align: right;" | Tekerlekli sandalye tekler
| [[{year} {tournament} - Tekerlekli sandalye tek erkekler|erkekler]]
| [[{year} {tournament} - Tekerlekli sandalye tek kadınlar|kadınlar]]
| [[{year} {tournament} - Tekerlekli sandalye tek kuadlar|kuadlar]]
|-
! scope="row" style="font-weight: normal; text-align: right;" | Tekerlekli sandalye çiftler
| [[{year} {tournament} - Tekerlekli sandalye çift erkekler|erkekler]]
| [[{year} {tournament} - Tekerlekli sandalye çift kadınlar|kadınlar]]
| [[{year} {tournament} - Tekerlekli sandalye çift kuadlar|kuadlar]]
]=]},
	["abnamroworldtennistournament"] = {[=[|-
| [[{prefix} {year} {tournament} - Tekler|tekler]]
| [[{prefix} {year} {tournamentd} - Çiftler|çiftler]]
|-
| [[{prefix} {year} {tournament} - Tekerlekli sandalye tekler|tekerlekli sandalye tekler]]
| [[{prefix} {year} {tournamentd} - Tekerlekli sandalye çiftler|tekerlekli sandalye çiftler]]]=]},
	["doublestwotourneys"] = {[=[|-
! scope="row" style="font-weight: normal; text-align: right;" | Tekler
| [[{prefix} {year} {tournament} - Tekler|erkekler]]
| [[{prefix} {year} {tournamentd} - Tekler|kadınlar]]
|-
! scope="row" style="font-weight: normal; text-align: right;" | Çiftler
| [[{prefix} {year} {tournament}  - Çiftler|erkekler]]
| [[{prefix} {year} {tournamentd} - Çiftler|kadınlar]]]=]},
	[""] = {[=[|-
! scope="row" style="font-weight: normal; text-align: right;" | Tekler
| [[{prefix} {year} {tournament} - Tek erkekler|erkekler]]
| [[{prefix} {year} {tournament} - Tek kadınlar|kadınlar]]
|-
! scope="row" style="font-weight: normal; text-align: right;" | Çiftler
| [[{prefix} {year} {tournament} - Çift erkekler|erkekler]]
| [[{prefix} {year} {tournament} - Çift kadınlar|kadınlar]]]=]}}

local function pullItem(value, default)
	value = value and string.lower(string.gsub(value, "%A", ""))
	if type(STYLES[value]) == "string" then
		value = STYLES[value]
	end
	if STYLES[value] then
		return STYLES[value][1]
	else
		return STYLES[default][1]
	end
end

function p._main(args)
	local default = ""
	if args[2] ~= args[3] then
		default = "doublestwotourneys"
	end

	print('{| style="border-spacing: 0.6em 0; margin: auto; ' ..
		  'text-align: center;"')
	print(string.gsub(pullItem(args.type, default), "{(%a+)}",
		{prefix = args.prefix or "", year = args[1], tournament = args[2],
		 tournamentd = args[3]}))
	print("|}")
	return getBuffer("\n")
end

function p.main(frame)
	local args = require("Module:Arguments").getArgs(frame)
	return p._main(args)
end

return p