Modul:Tennisturniere-Herren
Das Modul:Tennisturniere-Herren erzeugt eine Tabelle mit den Turnierergebnissen der ATP 1000 Turniere. Für die Parameter siehe Vorlage:Tennisturniere-Herreneinzel bzw Vorlage:Tennisturniere-Herrendoppel.
Die Funktion TennisturniereHerren ist zuständig für die Erzeugung der Tabelle und der ersten Zeile mit den Links auf die jeweiligen ATP Tour Artikel (wie zB ATP Tour 2021). Daneben wird die Funktion isUsed genutzt, um für jedes Turnier festzustellen, ob es einen Eintrag dafür gibt, oder ob die jeweilge Turnierzeile weggelassen werden kann. Wird die Zeile benötigt (isUsed gibt true zurück), so wird die Funktion getRow genutzt, um die Ergebnisse des Turniers in einer Zeile zusammen zu fassen.
Die Funktion getRow stellt für jedes über die Parameter vorgegebene Jahr fest, ob das Turnier stattgefunden hat (mittels der Funktion wasHeld). Gibt wasHeld true zurück, so wird das über Parameter angegebene Resultat des jeweiligen Turniers in die Zeile eingetragen, anderenfalls wird die Zelle ausgegraut. In der Funktion sind die Links auf die jeweiligen Turnierartikel hard coded. Falls sich an einem Turniernamen mehr als die Jahreszahl ändert, muss diese Funktion also erweitert werden.
Die Funktion wasHeld prüft ob das Turnier im jeweilgen Jahr stattgefunden hat. Wann welches Turnier stattgefunden hat ist in dieser Funktion hard coded.
Einsprungpunkte in das Modul sind die Funktionen TennisturniereHerrenEinzel bzw TennisturniereHerrenDoppel, die dafür sorgen, dass die Links in der Tabelle auf den entsprechenden Wettkampf gesetzt werden.
Änderungsbedarf
neues ATP 1000 Turnier
In diesem Fall ist die Funktion TennisturniereHerren zu ergänzen um einen Dreizeiler der Form:
if isUsed(frame, firstYear, lastYear, 'XXX') then table:node(getRow(frame, 'ATP XXX|XXX', '#', 'XXX', firstYear, lastYear)):newline() end
Dabei ist XXX durch das Kürzel des neuen Turniers zu ersetzen und ATP XXX|XXX durch den Übersichtsartikel des neuen Turniers vor der Pipe und seine Bezeichnung in der Tabelle dahinter.
Zusätzlich müssen die Funktionen getRow und wasHeld um elseif Blöcke für das neue Turnier erweitert werden.
Turnierartikel wird umbenannt
Wird der Turnierartikel umbenannt (mehr als die Jahreszahl ändert sich), muss der zugehörige elseif Block des Turniers in der Funktion getRow angepasst werden.
Turnier findet nicht (mehr) statt
Der zugehörige elseif Block in der Funktion wasHeld muss angepasst werden.
Die ATP Tour wird umbenannt
Davon ist nur die erste Zeile der Tabelle betroffen. Diese wird in der Funktion TennisturniereHerren erzeugt. Es muss also die Loop
for year = lastYear, firstYear, -1 do head:node(mw.html.create('th'):wikitext('[[ATP Tour ' .. year .. '|' .. year .. ']]')) end
zu zwei (oder mehr) Loops geändert werden.
for year = letztesJahrNeuerName, erstesJahrNeuerName, -1 do head:node(mw.html.create('th'):wikitext('[[NeuerName ' .. year .. '|' .. year .. ']]')) end for year = lastYearATPTour, firstYear, -1 do head:node(mw.html.create('th'):wikitext('[[ATP Tour ' .. year .. '|' .. year .. ']]')) end
local p = {}
-- die Funktion getCell erzeugt eine Tabellenzelle
-- Parameter:
-- link: Artikelname
-- result: Resultat der Athletin/des Athleten (zB S oder HF)
-- Rückgabe:
-- ein String mit dem HTML Code der Tabellenzelle
local function getCell(link, result)
local cell
if not result or result == '' then
cell = mw.html.create('td'):wikitext(' ')
else
if result == '-' then
result = '–'
end
if result == 'S' then
cell = mw.html.create('td'):wikitext('[[' .. link .. '|S]]'):css('background-color', '#FFF68F'):css('font-weight', 'bold')
elseif result == 'F' then
cell = mw.html.create('td'):wikitext('[[' .. link .. '|F]]'):css('background-color', '#BFEFFF')
elseif result == 'HF' or result == 'KF' then
cell = mw.html.create('td'):wikitext('[[' .. link .. '|' .. result .. ']]'):css('background-color', '#FFE7BA')
elseif result == ' ' or not result then
cell = mw.html.create('td'):wikitext(' ')
elseif result == 'B' then
cell = mw.html.create('td'):wikitext('[[' .. link .. '|B]]'):css('background-color', '#CC9966')
elseif result == 'Q1' or result == 'Q2' or result == 'Q3' then
cell = mw.html.create('td'):wikitext('[[' .. link .. '/Qualifikation' .. '|' .. result .. ']]')
else
cell = mw.html.create('td'):wikitext('[[' .. link .. '|' .. result .. ']]')
end
end
return cell
end
-- die Funktion wasHeld überprüft ob ein Wettkampf im angegebenen Jahr ausgerichtet wurde
-- Parameter:
-- prefix: das Prefix des Wettkampfs, das in den Vorlagenparametern verwendet wird (zB AUO, FRO)
-- year: Jahr der Ausrichtung
-- Rückgabe:
-- boolean false wenn der Wettkampf nicht stattgefunden hat
-- boolean true wenn er stattgefunden hat
local function wasHeld(prefix, year)
local held = false
if prefix == 'AUO' then
if year ~= 1986 then
held = true
end
elseif prefix == 'FRO' then
held = true
elseif prefix == 'WIM' then
if year ~= 2020 then
held = true
end
elseif prefix == 'USO' then
held = true
elseif prefix == 'ATP' then
if year >= 1970 then
held = true
end
elseif prefix == 'IND' then
if year >= 1976 and year ~= 2020 then
held = true
end
elseif prefix == 'MIA' then
if year >= 1985 and year ~= 2020 then
held = true
end
elseif prefix == 'MCM' then
if year >= 1970 and year ~= 2020 then
held = true
end
elseif prefix == 'MAD' then
if year >= 2002 and year ~= 2020 then
held = true
end
elseif prefix == 'ROM' then
if year >= 1970 then
held = true
end
elseif prefix == 'HAM' then
if year >= 1990 and year <= 2008 then
held = true
end
elseif prefix == 'KAN' then
if year >= 1970 and year ~= 2020 then
held = true
end
elseif prefix == 'CIN' then
if year >= 1970 then
held = true
end
elseif prefix == 'STO' then
if year >= 1990 and year <= 1994 then
held = true
end
elseif prefix == 'ESS' then
if year == 1995 then
held = true
end
elseif prefix == 'STU' then
if year >= 1996 and year <= 2001 then
held = true
end
elseif prefix == 'SHA' then
if year >= 2009 and year <= 2019 then
held = true
end
elseif prefix == 'PAR' then
if year == 1970 or (year >= 1972 and year <= 1982) or year >= 1986 then
held = true
end
elseif prefix == 'DAV' then
if year >= 1900 and year ~= 1901 and year ~= 1910 and (year < 1915 or year > 1918) and (year < 1940 or year > 1945) then
held = true
end
elseif prefix == 'OLY' then
if year >= 1988 and (year % 4) == 0 then
held = true
end
end
return held
end
-- die Funktion isUsed prüft ob es für die Athletin/den Athleten
-- im angegebenen Zeitraum für das Turnier mindestens einen gesetzten Parameter gibt
-- Parameter:
-- frame: der aufrufende frame
-- firstYear: erstes Jahr des zu prüfenden Zeitraums
-- lastYear: letztes Jahr des zu prüfenden Zeitraums
-- prefix: Prefix des Wettkampfs (zB AUS für Australien Open oder WIM für Wimbledon Championships)
-- Rückgabe:
-- boolean false wenn in der Vorlage keine Parameter für den Wettkampf gesetzt wurde
-- boolean true wenn der Anwender der Vorlage einen Parameter für den Wettkampf gesetzt hat
local function isUsed(frame, firstYear, lastYear, prefix)
local used=false
local year
local result
for year = firstYear, lastYear
do
if frame:getParent().args[prefix .. year] then
result = frame:getParent().args[prefix .. year] or ' '
if wasHeld(prefix, year) and result ~= ' ' then
used = true
break
end
end
end
return used
end
-- die Funktion getRow erzeugt eine Wettkampfzeile der Tabelle
-- Parameter:
-- frame: der aufrufende frame
-- overviewArticle: der Überblicksartikel für den Wettkampf (zB Australian Open)
-- competition: entweder 'einzel' oder 'doppel'
-- bgColor: die Hintergrundfarbe der Zeile
-- prefix: Prefix des Wettkampfs (zB AUS für Australien Open oder WIM für Wimbledon Championships)
-- firstYear: erstes Jahr in der Tabelle
-- lastYear: letztes Jahr in der Tabelle
-- Rückgabe:
-- ein String mit dem HTML Code der Zeile
local function getRow(frame, overviewArticle, competition, bgColor, prefix, firstYear, lastYear)
local row
local sum
local karriere
local year
local fYear
local year2
local result
local colspan
local possibleResults = {}
possibleResults[''] = 0
possibleResults['Q1'] = 1
possibleResults['Q2'] = 2
possibleResults['Q3'] = 3
possibleResults['1'] = 4
possibleResults['2'] = 5
possibleResults['3'] = 6
possibleResults['AF'] = 14
possibleResults['VF'] = 15
possibleResults['RR'] = 16
possibleResults['HF'] = 17
possibleResults['B'] = 18
possibleResults['F'] = 19
possibleResults['S'] = 20
karriere = 0
sum = 0
row = mw.html.create('tr'):css('background-color', bgColor)
row:node(mw.html.create('td'):wikitext('[[' .. overviewArticle .. ']]'):css('text-align', 'left'))
fYear = tonumber(firstYear)
year = tonumber(lastYear)
while (year >= fYear) do
colspan = 1
if wasHeld(prefix, year) then
if not frame:getParent().args[prefix .. year] then
cell = mw.html.create('td'):wikitext(' ')
else
result = frame:getParent().args[prefix .. year] or ' '
if prefix == 'AUO' then
cell = getCell('Australian Open ' .. year .. '/Herren' .. competition, result)
elseif prefix == 'FRO' then
cell = getCell('French Open ' .. year .. '/Herren' .. competition, result)
elseif prefix == 'WIM' then
cell = getCell('Wimbledon Championships ' .. year .. '/Herren' .. competition, result)
elseif prefix == 'USO' then
cell = getCell('US Open ' .. year .. '/Herren' .. competition, result)
elseif prefix == 'ATP' then
if year < 1990 then
cell = getCell('New York Masters ' .. year, result)
elseif year < 2000 then
cell = getCell('ATP-Weltmeisterschaft ' .. year, result)
elseif year < 2009 then
cell = getCell('Tennis Masters Cup ' .. year, result)
elseif year < 2017 then
cell = getCell('ATP World Tour Finals ' .. year, result)
else
cell = getCell('ATP Finals ' .. year, result)
end
elseif prefix == 'IND' then
if year < 1970 then
cell = getCell('American Airlines Tennis Games ' .. year, result)
elseif year < 1981 then
cell = getCell('GranCongoleum Classic ' .. year, result)
elseif year == 1981 then
cell = getCell('Grand Marnier/ATP Tennis Games 1981', result)
elseif year < 1985 then
cell = getCell('Congoleum Classic ' .. year, result)
elseif year < 1988 then
cell = getCell('Pilot Pen Classic ' .. year, result)
elseif year < 2000 then
cell = getCell('Newsweek Champions Cup ' .. year, result)
elseif year < 2002 then
cell = getCell('Tennis Masters Series Indian Wells ' .. year .. '/Herren', result)
elseif year < 2009 then
cell = getCell('Pacific Life Open ' .. year .. '/Herren', result)
else
cell = getCell('BNP Paribas Open ' .. year .. '/Herren', result)
end
elseif prefix == 'MIA' then
if year < 1993 then
cell = getCell('Lipton International Players Championships ' .. year .. '/Herren', result)
elseif year < 2000 then
cell = getCell('The Lipton Championships ' .. year .. '/Herren', result)
elseif year < 2002 then
cell = getCell('Ericsson Open ' .. year .. '/Herren', result)
elseif year < 2007 then
cell = getCell('NASDAQ-100 Open ' .. year .. '/Herren', result)
elseif year < 2013 then
cell = getCell('Sony Ericsson Open ' .. year .. '/Herren', result)
elseif year < 2015 then
cell = getCell('Sony Open Tennis ' .. year .. '/Herren', result)
else
cell = getCell('Miami Open ' .. year .. '/Herren', result)
end
elseif prefix == 'MCM' then
if year < 2000 then
cell = getCell('Monte Carlo Open ' .. year, result)
elseif year < 2007 then
cell = getCell('Monte Carlo Masters ' .. year, result)
elseif year < 2009 then
cell = getCell('Masters Series Monte-Carlo ' .. year, result)
elseif year < 2019 then
cell = getCell('Monte-Carlo Rolex Masters ' .. year, result)
else
cell = getCell('Rolex Monte-Carlo Masters ' .. year, result)
end
elseif prefix == 'ROM' then
if year < 2001 then
cell = getCell('Italian Open ' .. year .. '/Herren', result)
elseif year == 2001 then
cell = getCell('Tennis Masters Series Rome 2001/Herren', result)
elseif year == 2002 then
cell = getCell('Tennis Masters Roma 2002/Herren', result)
elseif year == 2003 or year == 2004 then
cell = getCell('Telecom Italia Masters ' .. year .. '/Herren', result)
elseif year == 2005 then
cell = getCell('Telecom Italia Masters Roma 2005/Herren', result)
elseif year == 2006 then
cell = getCell('Internazionali d’Italia 2006/Herren', result)
elseif year >= 2007 then
cell = getCell('Internazionali BNL d’Italia ' .. year .. '/Herren', result)
end
elseif prefix == 'MAD' then
if year < 2004 then
cell = getCell('Tennis Masters Madrid ' .. year, result)
elseif year < 2006 then
cell = getCell('Masters Series Madrid ' .. year, result)
elseif year < 2009 then
cell = getCell('Mutua Madrileña Masters Madrid ' .. year, result)
elseif year < 2011 then
cell = getCell('Mutua Madrileña Madrid Open ' .. year .. '/Herren', result)
else
cell = getCell('Mutua Madrid Open ' .. year .. '/Herren', result)
end
elseif prefix == 'HAM' then
if year < 2000 then
cell = getCell('ATP German Open ' .. year, result)
elseif year < 2003 then
cell = getCell('Tennis Masters Series Hamburg ' .. year, result)
elseif year <= 2004 then
cell = getCell('Tennis Masters Hamburg ' .. year, result)
else
cell = getCell('Masters Series Hamburg ' .. year, result)
end
elseif prefix == 'STO' then
cell = getCell('Stockholm Open ' .. year, result)
elseif prefix == 'ESS' then
cell = getCell('Essen Masters', result)
elseif prefix == 'STU' then
cell = getCell('Mercedes Cup ' .. year, result)
elseif prefix == 'CIN' then
if year < 1990 then
cell = getCell('Cincinnati Masters ' .. year, result)
elseif year < 1996 then
cell = getCell('Thriftway ATP Championships ' .. year, result)
elseif year < 2000 then
cell = getCell('Great American Insurance ATP Championship ' .. year, result)
elseif year < 2011 then
cell = getCell('Western & Southern Financial Group Masters ' .. year, result)
else
cell = getCell('Western & Southern Open ' .. year .. '/Herren', result)
end
elseif prefix == 'KAN' then
if year < 1998 then
cell = getCell('Rogers Cup ' .. year .. '/Herren', result)
elseif year < 2001 then
cell = getCell('Du Maurier Open ' .. year .. '/Herren', result)
elseif year == 2001 then
cell = getCell('Tennis Masters Series Montreal 2001', result)
elseif year == 2002 then
cell = getCell('Tennis Masters Series Toronto 2002', result)
elseif year < 2005 then
cell = getCell('Tennis Masters Series Canada ' .. year, result)
elseif year < 2020 then
cell = getCell('Rogers Cup ' .. year .. '/Herren', result)
else
cell = getCell('National Bank Open ' .. year .. '/Herren', result)
end
elseif prefix == 'SHA' then
if year == 2009 then
cell = getCell('Shanghai ATP Masters 1000 ' .. year, result)
elseif year < 2019 then
cell = getCell('Shanghai Rolex Masters ' .. year, result)
else
cell = getCell('Rolex Shanghai Masters ' .. year, result)
end
elseif prefix == 'PAR' then
if year < 1972 then
cell = getCell('Paris Open ' .. year, result)
elseif year < 1983 then
cell = getCell('Paris Masters ' .. year, result)
elseif year < 2000 then
cell = getCell('Paris Open ' .. year, result)
elseif year < 2004 then
cell = getCell('Tennis Masters Series Paris ' .. year, result)
elseif year < 2017 then
cell = getCell('BNP Paribas Masters ' .. year, result)
else
cell = getCell('Rolex Paris Masters ' .. year, result)
end
elseif prefix == 'DAV' then
if year < 1940 then
cell = getCell('International Lawn Tennis Challenge ' .. year, result)
elseif year == 2021 then
if year > fYear then
if result == ' ' or not result or result == '' or result == '-' or result == '–' then
result = frame:getParent().args['DAV2020'] or ' '
end
cell = getCell('Davis Cup 2020/21', result)
cell:attr('colspan', 2)
year = year - 1
else
cell = getCell('Davis Cup 2020/21', result)
end
elseif year == 2020 then
cell = getCell('Davis Cup 2020/21', result)
else
cell = getCell('Davis Cup ' .. year, result)
end
elseif prefix == 'OLY' then
cell = getCell('Olympische Sommerspiele ' .. year .. '/Tennis/Herren' .. competition, result)
end
if possibleResults[result] ~= null then
if possibleResults[result] == karriere then
sum = sum + 1
elseif possibleResults[result] > karriere then
karriere = possibleResults[result]
sum = 1
end
end
end
else
for year2 = year - 1, fYear, -1 do
if not wasHeld(prefix, year2) then
colspan = colspan + 1
else
break
end
end
cell = mw.html.create('td'):wikitext(' ')
cell:css('font-style', 'italic')
cell:css('background-color', '#e8e9ea')
if colspan > 1 then
cell:attr('colspan', colspan)
end
end
row:node(cell)
year = year - colspan
end
if karriere == 0 then
row:node(mw.html.create('td'):wikitext('—'))
else
for k,v in pairs(possibleResults) do
if v == karriere then
if k == 'S' then
row:node(mw.html.create('td'):wikitext(sum .. ' × S'):css('background-color', '#FFF68F'):css('font-weight', 'bold'))
elseif k == 'F' then
row:node(mw.html.create('td'):wikitext(sum .. ' × F'):css('background-color', '#BFEFFF'))
elseif k == 'HF' or result == 'KF' then
row:node(mw.html.create('td'):wikitext(sum .. ' × ' .. k):css('background-color', '#FFE7BA'))
elseif k == 'B' then
row:node(mw.html.create('td'):wikitext(sum .. ' × B'):css('background-color', '#CC9966'))
elseif k == '1' or k == '2' or k == '3' then
row:node(mw.html.create('td'):wikitext(sum .. ' × ' .. k .. 'R'))
else
row:node(mw.html.create('td'):wikitext(sum .. ' × ' .. k))
end
break
end
end
end
return row
end
-- die Vorlage TennisturniereHerren erzeugt eine Tabelle mit den Turnierergebnissen der
-- wichtigsten Tennisturniere.
-- Parameter:
-- frame: der aufrufende frame
-- competition: entweder 'einzel' oder 'doppel'
-- tournaments: welche Turniere eingeschlossen werden sollen
-- 'all' alle Turniere
-- 'gs' nur die Grand Slam Turniere
-- 'gsatp' Grand Slams und ATP Finals
-- 'gsoly' Grand Slams und Olympische Spiele
-- 'gsatpoly' Grand Slams, ATP Finals und Olympische Spiele
-- Die wichtigsten Turniere sind:
-- die Grand Slam Turniere
-- die Olympischen Spiele
-- die ATP 1000 Turniere
-- die Vorlage kann die beidenfolgenden Parameter haben:
-- firstYear: das erste Jahr für das Tabelleneinträge erzeugt werden sollen (vierstellig)
-- lastYear: das letzte Jahr für das Tabelleneinträge erzeugt werden sollen (vierstellig)
-- sind diese beiden Parameter nicht vorhanden, werden sie aus den folgenden ermittelt
-- optional kommen folgende Parameter dazu
-- AUS gefolgt vom Jahr für das Ergebnis im jeweiligen Jahr für die Australian Open (zB AUS2016=1)
-- FRO gefolgt vom Jahr für das Ergebnis im jeweiligen Jahr für die French Open (zB FRO2016=2)
-- WIM gefolgt vom Jahr für das Ergebnis im jeweiligen Jahr für die Wimbledon Championships (zB WIM2016=AF)
-- USO gefolgt vom Jahr für das Ergebnis im jeweiligen Jahr für die US Open (zB USO2016=VF)
-- ATP gefolgt vom Jahr für das Ergebnis im jeweiligen Jahr für die ATP Finals (zB ATP2016=S)
-- IND gefolgt vom Jahr für das Ergebnis im jeweiligen Jahr für die Indian Wells Masters
-- MIA gefolgt vom Jahr für das Ergebnis im jeweiligen Jahr für die Miami Masters
-- ROM gefolgt vom Jahr für das Ergebnis im jeweiligen Jahr für die Rom Masters
-- MAD gefolgt vom Jahr für das Ergebnis im jeweiligen Jahr für die Madrid Masters
-- CIN gefolgt vom Jahr für das Ergebnis im jeweiligen Jahr für die Cincinnati Masters
-- KAN gefolgt vom Jahr für das Ergebnis im jeweiligen Jahr für die Kanada Masters
-- MCM gefolgt vom Jahr für das Ergebnis im jeweiligen Jahr für die Monte Carlo Masters
-- SHA gefolgt vom Jahr für das Ergebnis im jeweiligen Jahr für die Shanghai Masters
-- HAM gefolgt vom Jahr für das Ergebnis im jeweiligen Jahr für die Hamburg Masters
-- STO gefolgt vom Jahr für das Ergebnis im jeweiligen Jahr für die Stockholm Masters
-- STU gefolgt vom Jahr für das Ergebnis im jeweiligen Jahr für die Stuttgart Masters
-- ESS gefolgt vom Jahr für das Ergebnis im jeweiligen Jahr für die Essen Masters
-- PAR gefolgt vom Jahr für das Ergebnis im jeweiligen Jahr für die Paris Masters
-- OLY gefolgt vom Jahr für das Ergebnis im jeweiligen Jahr für die Olympischen Spiele
local function TennisturniereHerren(frame, competition, tournaments)
local firstYear = frame:getParent().args['ErstesJahr']
local lastYear = frame:getParent().args['LetztesJahr']
local result
local table
local head
local row
local year
if not firstYear then
for year=1877, tonumber(os.date('%Y')) do
for k,v in pairs({ "AUO", "FRO", "WIM", "USO", "DAV", "ATP", "IND", "MIA", "ROM", "MAD", "CIN", "KAN", "MCM", "SHA", "HAM", "STO", "STU", "ESS", "PAR", "OLY" }) do
if frame:getParent().args[v..year] then
firstYear = year
break
end
end
if firstYear then
break
end
end
if not firstYear then
return '\n\nKein gültiger Parameter gefunden!\n\n'
end
end
if not lastYear then
lastYear = firstYear
for year=tonumber(os.date('%Y')), firstYear, -1 do
for k,v in pairs({ "AUO", "FRO", "WIM", "USO", "DAV", "ATP", "IND", "MIA", "ROM", "MAD", "CIN", "KAN", "MCM", "SHA", "HAM", "STO", "STU", "ESS", "PAR", "OLY" }) do
if frame:getParent().args[v..year] then
lastYear = year
break
end
end
if lastYear > firstYear then
break
end
end
end
if competition ~= 'einzel' and competition ~= 'doppel' then
return 'Der Parameter competition muss entweder "einzel" oder "doppel" sein'
end
-- wikitable anlegen
table = mw.html.create('table'):addClass('wikitable'):css('text-align', 'center'):css('font-size', '90%')
-- Tabellenheader mit Links auf die zugehörigen 'ATP Tour' Artikel anlegen
head = mw.html.create('tr')
head:node(mw.html.create('th'):wikitext('Turnier'))
for year = lastYear, firstYear, -1
do
if year < 1990 then
head:node(mw.html.create('th'):wikitext(year))
elseif year < 2009 then
head:node(mw.html.create('th'):wikitext('[[ATP Tour ' .. year .. '|' .. year .. ']]'))
elseif year < 2019 then
head:node(mw.html.create('th'):wikitext('[[ATP World Tour ' .. year .. '|' .. year .. ']]'))
else
head:node(mw.html.create('th'):wikitext('[[ATP Tour ' .. year .. '|' .. year .. ']]'))
end
end
head:node(mw.html.create('th'):wikitext('Karriere'))
-- Header in die Tabelle einfügen
table:node(head):newline()
-- Zeile Australian Open
if isUsed(frame, firstYear, lastYear, 'AUO') then
table:node(getRow(frame, 'Australian Open', competition, '#E5D1CB', 'AUO', firstYear, lastYear)):newline()
end
-- Zeile French Open
if isUsed(frame, firstYear, lastYear, 'FRO') then
table:node(getRow(frame, 'French Open', competition, '#E5D1CB', 'FRO', firstYear, lastYear)):newline()
end
-- Zeile Wimbledon Championships
if isUsed(frame, firstYear, lastYear, 'WIM') then
table:node(getRow(frame, 'Wimbledon Championships|Wimbledon', competition, '#E5D1CB', 'WIM', firstYear, lastYear)):newline()
end
-- Zeile US Open
if isUsed(frame, firstYear, lastYear, 'USO') then
table:node(getRow(frame, 'US Open', competition, '#E5D1CB', 'USO', firstYear, lastYear)):newline()
end
if tournaments == 'all' or tournaments == 'gsatp' or tournaments == 'gsatpoly' then
-- Zeile ATP Finals
if isUsed(frame, firstYear, lastYear, 'ATP') then
-- das erreicht, dass die Namen der Übersichtsartikel einzeilig dargestellt werden
table:node(getRow(frame, 'ATP Finals', competition, '#FFFFCC', 'ATP', firstYear, lastYear)):newline()
end
end
if tournaments == 'all' then
-- Zeile Indian Wells Masters
if isUsed(frame, firstYear, lastYear, 'IND') then
table:node(getRow(frame, 'Indian Wells Masters|Indian Wells', competition, '#', 'IND', firstYear, lastYear)):newline()
end
-- Zeile Miami Masters
if isUsed(frame, firstYear, lastYear, 'MIA') then
table:node(getRow(frame, 'Miami Masters|Miami', competition, '#', 'MIA', firstYear, lastYear)):newline()
end
-- Zeile Monte Carlo Masters
if isUsed(frame, firstYear, lastYear, 'MCM') then
table:node(getRow(frame, 'Monte Carlo Masters|Monte Carlo', competition, '#', 'MCM', firstYear, lastYear)):newline()
end
-- Zeile Madrid Masters
if isUsed(frame, firstYear, lastYear, 'MAD') then
table:node(getRow(frame, 'Madrid Masters|Madrid', competition, '#', 'MAD', firstYear, lastYear)):newline()
end
-- Zeile Rom Masters
if isUsed(frame, firstYear, lastYear, 'ROM') then
table:node(getRow(frame, 'Rom Masters|Rom', competition, '#', 'ROM', firstYear, lastYear)):newline()
end
-- Zeile Hamburg Masters
if isUsed(frame, firstYear, lastYear, 'HAM') then
table:node(getRow(frame, 'ATP Hamburg|Hamburg', competition, '#', 'HAM', firstYear, lastYear)):newline()
end
-- Zeile Kanada Masters
if isUsed(frame, firstYear, lastYear, 'KAN') then
table:node(getRow(frame, 'Kanada Masters|Kanada', competition, '#', 'KAN', firstYear, lastYear)):newline()
end
-- Zeile Cincinnati Masters
if isUsed(frame, firstYear, lastYear, 'CIN') then
table:node(getRow(frame, 'Cincinnati Masters|Cincinnati', competition, '#', 'CIN', firstYear, lastYear)):newline()
end
-- Zeile Stockholm Masters
if isUsed(frame, firstYear, lastYear, 'STO') then
table:node(getRow(frame, 'Stockholm Masters|Stockholm', competition, '#', 'STO', firstYear, lastYear)):newline()
end
-- Zeile Essen Masters
if isUsed(frame, firstYear, lastYear, 'ESS') then
table:node(getRow(frame, 'Essen Masters|Essen', competition, '#', 'ESS', firstYear, lastYear)):newline()
end
-- Zeile Stuttgart Masters
if isUsed(frame, firstYear, lastYear, 'STU') then
table:node(getRow(frame, 'Stuttgart Masters|Stuttgart', competition, '#', 'STU', firstYear, lastYear)):newline()
end
-- Zeile Shanghai Masters
if isUsed(frame, firstYear, lastYear, 'SHA') then
table:node(getRow(frame, 'Shanghai Masters (Tennis)|Shanghai', competition, '#', 'SHA', firstYear, lastYear)):newline()
end
-- Zeile Paris Masters
if isUsed(frame, firstYear, lastYear, 'PAR') then
table:node(getRow(frame, 'Paris Masters|Paris', competition, '#', 'PAR', firstYear, lastYear)):newline()
end
end
if tournaments == 'all' or tournaments == 'gsoly' or tournaments == 'gsatpoly' then
-- Zeile Olympische Spiele
if isUsed(frame, firstYear, lastYear, 'OLY') then
table:node(getRow(frame, 'Tennis bei den Olympischen Spielen|Olympische Spiele', competition, '#FFD700', 'OLY', firstYear, lastYear)):newline()
end
end
if tournaments == 'all' then
-- Zeile Davis Cup
if isUsed(frame, firstYear, lastYear, 'DAV') then
table:node(getRow(frame, 'Davis Cup', competition, '#C2B280', 'DAV', firstYear, lastYear)):newline()
end
end
-- komplette Tabelle als String zurückgeben
return tostring(table)
end
function p.TennisturniereHerrenEinzel(frame)
return TennisturniereHerren(frame, 'einzel', 'all')
end
function p.TennisturniereHerrenDoppel(frame)
return TennisturniereHerren(frame, 'doppel', 'all')
end
function p.HerrenEinzelGrandSlam(frame)
return TennisturniereHerren(frame, 'einzel', 'gs')
end
function p.HerrenDoppelGrandSlam(frame)
return TennisturniereHerren(frame, 'doppel', 'gs')
end
function p.HerrenEinzelGrandSlamATP(frame)
return TennisturniereHerren(frame, 'einzel', 'gsatp')
end
function p.HerrenDoppelGrandSlamATP(frame)
return TennisturniereHerren(frame, 'doppel', 'gsatp')
end
function p.HerrenEinzelGrandSlamOly(frame)
return TennisturniereHerren(frame, 'einzel', 'gsoly')
end
function p.HerrenDoppelGrandSlamOly(frame)
return TennisturniereHerren(frame, 'doppel', 'gsoly')
end
function p.HerrenEinzelGrandSlamATPOly(frame)
return TennisturniereHerren(frame, 'einzel', 'gsatpoly')
end
function p.HerrenDoppelGrandSlamATPOly(frame)
return TennisturniereHerren(frame, 'doppel', 'gsatpoly')
end
return p