Benutzer:Guternachbar/Spielwiese/Modul:Vorlage:Tennisturniere-Dameneinzel

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen

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('S'):css('background-color', '#FFF68F'):css('font-weight', 'bold')
     elseif result == 'F' then
       cell = mw.html.create('td'):wikitext('F'):css('background-color', '#BFEFFF')
     elseif result == 'HF' then
       cell = mw.html.create('td'):wikitext('HF'):css('background-color', '#FFE7BA')
     elseif result == ' ' or not result then
       cell = mw.html.create('td'):wikitext(' ')
     else
       cell = mw.html.create('td'):wikitext('' .. result .. '')
     end
   end
   return tostring(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
     held = true
   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 == 'WTC' then
     if year ~= 2020 then
       held = true
     end
   elseif prefix == 'CHI' then
     if year == 1990 then
       held = true
     end
   elseif prefix == 'BOC' then
     if year >= 1989 and year < 1993 then
       held = true
     end
   elseif prefix == 'DOH' then
     if year > 2000 and year ~= 2009 and year ~= 2010 then
       held = true
     end
   elseif prefix == 'DUB' then
     if year > 2001 then
       held = true
     end
   elseif prefix == 'IND' then
     if (year >= 1997 and year <= 2019) or year >= 2021 then
       held = true
     end
   elseif prefix == 'MIA' then
     if year == 1973 or (year >= 1984 and year <= 2019) or year >= 2021 then
       held = true
     end
   elseif prefix == 'HHI' then
     if year >= 1973 and year <= 2000 then
       held = true
     end
   elseif prefix == 'CHA' then
     if (year >= 1986 and year <= 1987) or (year >= 2001 and year <= 2019) or year >= 2021 then
       held = true
     end
   elseif prefix == 'ROM' then
     if (year >= 1930 and year <= 1935) or (year >= 1950 and year <= 1985) or year >= 1987 then
       held = true
     end
   elseif prefix == 'MAD' then
     if (year >= 1996 and year <= 2003) or (year >= 2009 and year <= 2019) or year >= 1921 then
       held = true
     end
   elseif prefix == 'BER' then
     if year == 1979 or (year >= 1981 and year <= 2008) or year >= 2021 then
       held = true
     end
   elseif prefix == 'SDI' then
     if year == 1971 or (year >= 1979 and year <= 1982) or (year >= 1984 and year <= 2007) or (year >= 2010 and year <= 2013)then
       held = true
     end
   elseif prefix == 'CIN' then
     if (year >= 1899 and year <= 1917) or year == 1920 or (year >= 1922 and year <= 1934) or (year >= 1936 and year <= 1973) or (year >= 1980 and year <= 1982) or year == 1988 or year >= 2004 then
       held = true
     end
   elseif prefix == 'KAN' then
     if (year >= 1892 and year <= 1904) or (year >= 1906 and year <= 1914) or (year >= 1918 and year <= 1940) or (year >= 1946 and year <= 2019) or year >= 2021 then
       held = true
     end
   elseif prefix == 'TOK' then
     if year >= 1976 then
       held = true
     end
   elseif prefix == 'MUN' then
     if year == 1998 or year == 1999 then
       held = true
     end
   elseif prefix == 'ZUR' then
     if year >= 1984 and year <= 2008 then
       held = true
     end
   elseif prefix == 'PHI' then
     if year == 1971 or (year >= 1973 and year <= 1979) or (year >= 1991 and year <= 2000) or (year >= 2003 and year <= 2005) then
       held = true
     end
   elseif prefix == 'PEK' then
     if (year >= 1994 and year <= 1996) or (year >= 2004 and year <= 2019) or year >= 2022 then
       held = true
     end
   elseif prefix == 'MOS' then
     if year == 1971 or year == 1975  or year == 1989  or year == 1990 or (year >= 1994 and year <= 2019) or year >= 2021 then
       held = true
     end
   elseif prefix == 'OLY' then
     if year >= 1988 and (year % 4) == 0 then
       held = true
     end
   elseif prefix == 'FED' then
     if year >= 1963 then
       held = true
     end
   end
   return held

end

-- die Funktion differentCategory prüft ob der Wettkampf in einer für die Tabelle relevanten Kategorie war -- relevante Kategorien sind: -- die Grand Slam Turniere -- 1990-2008 Tier I -- 2009-2020 Premier Mandatory und Premier 5 -- ab 2021 WTA 1000 -- Parameter: -- prefix: das Prefix des Wettkampfs, das in den Vorlagenparametern verwendet wird (zB AUO, FRO) -- year: Jahr der Ausrichtung -- Rückgabe: -- boolean true wenn der Wettkampf nicht relevant war -- boolean true wenn er relevant war local function differentCategory(prefix, year)

   local diff = true
   if prefix == 'AUO' or prefix == 'FRO' or prefix == 'WIM' or prefix == 'USO' then
     diff = false
   elseif prefix == 'WTC' then
     diff = false
   elseif prefix == 'CHI' then
     if year == 1990 then
       diff = false
     end
   elseif prefix == 'BOC' then
     if year >= 1991 and year <= 1992 then
       diff = false
     end
   elseif prefix == 'DOH' then
     if year == 2008 or (year >= 2012 and year <= 2014) or (year > 2015 and (year % 2) == 0) then
       diff = false
     end
   elseif prefix == 'DUB' then
     if (year >= 2009 and year <= 2011) or (year >= 2015 and (year % 2) == 1) then
       diff = false
     end
   elseif prefix == 'IND' then
     if (year >= 1997 and year <= 2019) or year >= 2021 then
       diff = false
     end
   elseif prefix == 'MIA' then
     if (year >= 1988 and year <= 2019) or year >= 2021 then
       diff = false
     end
   elseif prefix == 'HHI' then
     if year >= 1990 and year <= 2000 then
       diff = false
     end
   elseif prefix == 'CHA' then
     if year >= 2001 and year <= 2008 then
       diff = false
     end
   elseif prefix == 'ROM' then
     if year >= 1990 then
       diff = false
     end
   elseif prefix == 'MAD' then
     if year >= 2009 then
       diff = false
     end
   elseif prefix == 'BER' then
     if year >= 1988 and year <= 2008 then
       diff = false
     end
   elseif prefix == 'SDI' then
     if year >= 2004 and year <= 2007 then
       diff = false
     end
   elseif prefix == 'CIN' then
     if year >= 2009 then
       diff = false
     end
   elseif prefix == 'KAN' then
     if year >= 1990 then
       diff = false
     end
   elseif prefix == 'TOK' then
     if year >= 1993 and year <= 2013 then
       diff = false
     end
   elseif prefix == 'MUN' then
     if year >= 1998 and year <= 1999 then
       diff = false
     end
   elseif prefix == 'ZUR' then
     if year >= 1993 and year <= 2007 then
       diff = false
     end
   elseif prefix == 'PHI' then
     if year >= 1993 and year <= 1995 then
       diff = false
     end
   elseif prefix == 'PEK' then
     if year >= 2009 then
       diff = false
     end
   elseif prefix == 'MOS' then
     if year >= 1997 and year <= 2008 then
       diff = false
     end
   elseif prefix == 'OLY' then
     diff = false
   elseif prefix == 'FED' then
     diff = false
   end
   return diff

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 not differentCategory(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) -- 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 , bgColor, prefix, firstYear, lastYear)

   local row
   local sum
   local year
   local year2
   local result
   local colspan
   row = mw.html.create('tr'):css('background-color', bgColor)
   row:node(mw.html.create('td'):wikitext('' .. overviewArticle .. ''):css('text-align', 'left'))
   sum = 0
   lastYear = lastYear + 0
   year = firstYear + 0
   while (year <= lastYear) do
     colspan = 1
     if wasHeld(prefix, year) then
       if differentCategory(prefix, year) then

for year2 = year + 1, lastYear do if wasHeld(prefix, year2) and differentCategory(prefix, year2) then colspan = colspan + 1 else break end end if colspan > 2 then cell = mw.html.create('td'):wikitext('andere Kategorie') else

           cell = mw.html.create('td'):wikitext('a. K.')

end cell:css('font-style', 'italic') if colspan > 1 then cell:attr('colspan', colspan) end

       elseif 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 .. '/Dameneinzel', result) elseif prefix == 'FRO' then cell = getCell('French Open ' .. year .. '/Dameneinzel', result) elseif prefix == 'WIM' then cell = getCell('Wimbledon Championships ' .. year .. '/Dameneinzel', result) elseif prefix == 'USO' then cell = getCell('US Open ' .. year .. '/Dameneinzel', result) elseif prefix == 'WTC' then cell = getCell('WTA Championships ' .. year, result) elseif prefix == 'CHI' then cell = getCell('Virginia Slims of Chicago ' .. year, result) elseif prefix == 'BOC' then cell = getCell('Virginia Slims of Florida ' .. year, result) elseif prefix == 'DOH' then cell = getCell('Qatar Total Open ' .. year, result) elseif prefix == 'DUB' then if year == 2009 or year == 2010 then cell = getCell('Barclays Dubai Tennis Championships ' .. year .. '/Damen', result) elseif year == 2011 then cell = getCell('Dubai Duty Free Tennis Championships ' .. year .. '/Damen', result) else cell = getCell('Dubai Duty Free Tennis Championships ' .. year .. '/Damen', result) end elseif prefix == 'IND' then if year == 1997 or year == 1998 then cell = getCell('State Farm Evert Cup ' .. year, result) elseif year == 1999 then cell = getCell('Evert Cup 1999', result) elseif year == 2000 then cell = getCell('Tennis Masters Series Indian Wells 2000/Damen', result) elseif year == 2001 then cell = getCell('Tennis Masters Series 2001/Damen', result) elseif year >= 2002 and year <= 2008 then cell = getCell('Pacific Life Open ' .. year .. '/Damen', result) elseif year >= 2009 and year <= 2019 then cell = getCell('BNP Paribas Open ' .. year .. '/Damen', result) elseif year > 2019 then cell = getCell('BNP Paribas Open ' .. year, result) end elseif prefix == 'IND' then if year >= 1988 and year <= 1992 then cell = getCell('Lipton International Players Championships ' .. year .. '/Damen', result) elseif year >= 1993 and year <= 1999 then cell = getCell('The Lipton Championships ' .. year .. '/Damen', result) elseif year >= 2000 and year <= 2001 then cell = getCell('Ericsson Open ' .. year .. '/Damen', result) elseif year >= 2002 and year <= 2006 then cell = getCell('NASDAQ-100 Open ' .. year .. '/Damen', result) elseif year >= 2007 and year <= 2012 then cell = getCell('Sony Ericsson Open ' .. year .. '/Damen', result) elseif year >= 2013 and year <= 2014 then cell = getCell('Sony Open Tennis ' .. year .. '/Damen', result) elseif year >= 2015 then cell = getCell('Miami Open ' .. year .. '/Damen', result) end elseif prefix == 'HHI' then cell = getCell('Family Circle Cup ' .. year, result) elseif prefix == 'CHA' then cell = getCell('Family Circle Cup ' .. year, result) elseif prefix == 'ROM' then if year == 1990 then cell = getCell('Campionati Internazionali d’Italia Peugeot Open Cup 1990/Damen', result) elseif year == 1991 then cell = getCell('Peugeot Italian Open 1991/Damen', result) elseif year == 1992 then cell = getCell('Campionati Internazionali d’Italia Peugeot Open 1992/Damen', result) elseif year == 1993 then cell = getCell('Campionati Internazionali d’Italia 1993/Damen', result) elseif year == 1994 then cell = getCell('Mercedes Italian Open 1994/Damen', result) elseif year == 1995 or year == 1996 then cell = getCell('Italian Open ' .. year .. '/Damen', result) elseif year == 1997 or year == 1998 then cell = getCell('Campionati Internazionali d’Italia ' .. year .. '/Damen', result) elseif year == 1999 or year == 2000 then cell = getCell('Italian Open ' .. year .. '/Damen', result) elseif year == 2001 then cell = getCell('Tennis Masters Series Rome 2001/Damen', result) elseif year == 2002 then cell = getCell('Tennis Masters Roma 2002/Damen', result) elseif year == 2003 or year == 2004 then cell = getCell('Telecom Italia Masters ' .. year .. '/Damen', result) elseif year == 2005 then cell = getCell('Telecom Italia Masters Roma 2005/Damen', result) elseif year == 2006 then cell = getCell('Internazionali d’Italia 2006/Damen', result) elseif year >= 2007 then cell = getCell('Internazionali BNL d’Italia ' .. year .. '/Damen', result) end elseif prefix == 'MAD' then if year == 2009 or year == 2010 then cell = getCell('Mutua Madrileña Madrid Open ' .. year .. '/Damen', result) else cell = getCell('Mutua Madrid Open ' .. year .. '/Damen', result) end elseif prefix == 'BER' then if year == 1988 then cell = getCell('German Open 1988/Damen', result) elseif year == 1989 then cell = getCell('Lufthansa Cup 1989', result) elseif year == 1990 or year == 1991 then cell = getCell('Lufthansa Cup German Open ' .. year, result) elseif year == 1992 then cell = getCell('Lufthansa Cup 1992', result) elseif year == 1993 or year == 1994 then cell = getCell('German Open ' .. year .. '/Damen', result) elseif year >= 1995 and year <= 1997 then cell = getCell('German Open ' .. year .. ' (Tennis)/Damen', result) elseif year >= 1998 and year <= 2000 then cell = getCell('German Open ' .. year .. '/Damen', result) elseif year == 2001 or year == 2002 then cell = getCell('Eurocard Ladies German Open ' .. year, result) elseif year == 2003 then cell = getCell('MasterCard German Open 2003', result) elseif year == 2004 then cell = getCell('Ladies German Open 2004', result) elseif year >= 2005 then cell = getCell('Qatar Telecom German Open ' .. year, result) end elseif prefix == 'SDI' then cell = getCell('Acura Classic ' .. year, result) elseif prefix == 'CIN' then if year == 2009 or year == 2010 then cell = getCell('Western & Southern Financial Group Women’s Open ' .. year, result) else cell = getCell('Western & Southern Open ' .. year .. '/Damen', result) end elseif prefix == 'KAN' then if year == 1990 then cell = getCell('Player’s Ltd. Challenge Canadian Open 1990', result) elseif year == 1991 then cell = getCell('Canadian Open 1991/Damen', result) elseif year == 1992 then cell = getCell('Matinee Ltd. Canadian Open 1992/Damen', result) elseif year == 1993 then cell = getCell('Matinee Ltd. International 1993/Damen', result) elseif year == 1994 then cell = getCell('Matinee Ltd. International - Canadian Open 1994/Damen', result) elseif year >= 1995 and year <= 2000 then cell = getCell('Du Maurier Open ' .. year .. '/Damen', result) elseif year >= 2001 and year <= 2019 then cell = getCell('Rogers Cup ' .. year .. '/Damen', result) else cell = getCell('National Bank Open ' .. year .. '/Damen', result) end elseif prefix == 'TOK' then if year == 2001 then cell = getCell('Pan Pacific Open 2001', result) else cell = getCell('Toray Pan Pacific Open ' .. year, result) end elseif prefix == 'MUN' then cell = getCell('Compaq Grand Slam Cup ' .. year .. '/Damen', result) elseif prefix == 'ZUR' then if year == 1993 then cell = getCell('Barilla Indoors 1993', result) elseif year == 1994 then cell = getCell('European Indoors Zurich 1994', result) elseif year == 1995 or year == 1996 then cell = getCell('European Indoors ' .. year, result) elseif year == 1997 then cell = getCell('European Indoors Championships 1997', result) elseif year == 1998 then cell = getCell('European Championships / Swisscom 1998', result) elseif year >= 1999 and year <= 2004 then cell = getCell('Swisscom Challenge ' .. year, result) else cell = getCell('Zurich Open ' .. year, result) end elseif prefix == 'PHI' then if year == 1993 or year == 1994 then cell = getCell('Virginia Slims of Philadelphia ' .. year, result) elseif year == 1995 then cell = getCell('Advanta Championships 1995', result) end elseif prefix == 'PEK' then cell = getCell('China Open ' .. year .. ' (Tennis)/Damen', result) elseif prefix == 'MOS' then cell = getCell('Kremlin Cup ' .. year .. '/Damen', result) elseif prefix == 'OLY' then cell = getCell('Olympische Sommerspiele ' .. year .. '/Tennis/Dameneinzel', result) elseif prefix == 'FED' then if year >= 1982 and year <= 1994 then cell = getCell('Federation Cup ' .. year, result) elseif year >= 1995 and year <= 2020 then cell = getCell('Fed Cup ' .. year, result) elseif year >= 2021 then cell = getCell('Billie Jean King Cup ' .. year .. '/' .. (year + 1 - 2000), result) end end

         if (result == 'S') then
           sum = sum + 1
         end

end

     else

for year2 = year + 1, lastYear do if not wasHeld(prefix, year2) then colspan = colspan + 1 else break end end if colspan > 2 then cell = mw.html.create('td'):wikitext('nicht ausgetragen') else

         cell = mw.html.create('td'):wikitext('n. a.')

end cell:css('font-style', 'italic') if colspan > 1 then cell:attr('colspan', colspan) end

     end
     row:node(cell)
     year = year + colspan
   end
   row:node(mw.html.create('td'):wikitext(sum))
   return row

end

-- die Vorlage TennisturniereDameneinzel erzeugt eine Tabelle mit den Turnierergebnissen der -- wichtigsten Tennisturniere. Diese sind: -- die Grand Slam Turniere -- 1990-2008 Kategorie Tier I -- 2009-2020 Kategorie Premier Mandatory und Premier 5 -- ab 2021 Kategorie WTA 1000 -- die Vorlage muss die folgenden 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) -- 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) -- WTC gefolgt vom Jahr für das Ergebnis im jeweiligen Jahr für die WTA Tour Championships (zB WTC2016=S) -- CHI gefolgt vom Jahr für das Ergebnis im jeweiligen Jahr für die WTA Chicago (zB CHI2016=HF) -- BOC gefolgt vom Jahr für das Ergebnis im jeweiligen Jahr für die WTA Boca Raton (zB BOC2016=3) -- DOH gefolgt vom Jahr für das Ergebnis im jeweiligen Jahr für die WTA Doha (zB DOH2016= ) -- DUB gefolgt vom Jahr für das Ergebnis im jeweiligen Jahr für die WTA Dubai (zB DUB2016=) -- IND gefolgt vom Jahr für das Ergebnis im jeweiligen Jahr für die WTA Indian Wells -- MIA gefolgt vom Jahr für das Ergebnis im jeweiligen Jahr für die WTA Miami -- HHI gefolgt vom Jahr für das Ergebnis im jeweiligen Jahr für die WTA Hilton Head Island -- CHA gefolgt vom Jahr für das Ergebnis im jeweiligen Jahr für die WTA Charleston -- ROM gefolgt vom Jahr für das Ergebnis im jeweiligen Jahr für die WTA Rom -- MAD gefolgt vom Jahr für das Ergebnis im jeweiligen Jahr für die WTA Madrid -- BER gefolgt vom Jahr für das Ergebnis im jeweiligen Jahr für die WTA Berlin -- SDI gefolgt vom Jahr für das Ergebnis im jeweiligen Jahr für die WTA San Diego -- CIN gefolgt vom Jahr für das Ergebnis im jeweiligen Jahr für die WTA Cincinnati -- KAN gefolgt vom Jahr für das Ergebnis im jeweiligen Jahr für die WTA Kanada -- TOK gefolgt vom Jahr für das Ergebnis im jeweiligen Jahr für die WTA Tokio -- MUN gefolgt vom Jahr für das Ergebnis im jeweiligen Jahr für die WTA München -- ZUR gefolgt vom Jahr für das Ergebnis im jeweiligen Jahr für die WTA Zürich -- PHI gefolgt vom Jahr für das Ergebnis im jeweiligen Jahr für die WTA Philadelphia -- PEK gefolgt vom Jahr für das Ergebnis im jeweiligen Jahr für die WTA Peking -- MOS gefolgt vom Jahr für das Ergebnis im jeweiligen Jahr für die WTA Moskau -- OLY gefolgt vom Jahr für das Ergebnis im jeweiligen Jahr für die Olympischen Spiele -- FED gefolgt vom Jahr für das Ergebnis im jeweiligen Jahr für die Fed Cup function p.TennisturniereDameneinzel(frame)

   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 or not lastYear then
       return 'Die Parameter ErstesJahr und LetztesJahr sind mandatory!'
   end
   -- wikitable anlegen
   table = mw.html.create('table'):addClass('wikitable'):css('text-align', 'center')
   -- Tabellenheader mit Links auf die zugehörigen 'WTA Tour' Artikel anlegen
   head = mw.html.create('tr')
   head:node(mw.html.create('th'):wikitext('Turnier'))
   for year = firstYear, lastYear
   do
      head:node(mw.html.create('th'):wikitext('' .. year .. ''))
   end
   head:node(mw.html.create('th'):wikitext('Gesamt'))
   -- 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', '#E5D1CB', 'AUO', firstYear, lastYear)):newline()
   end
   -- Zeile French Open
   if isUsed(frame, firstYear, lastYear, 'FRO') then
     table:node(getRow(frame, 'French Open', '#E5D1CB', 'FRO', firstYear, lastYear)):newline()
   end
   -- Zeile Wimbledon Championships
   if isUsed(frame, firstYear, lastYear, 'WIM') then
     table:node(getRow(frame, 'Wimbledon Championships|Wimbledon', '#E5D1CB', 'WIM', firstYear, lastYear)):newline()
   end
   -- Zeile US Open
   if isUsed(frame, firstYear, lastYear, 'USO') then
     table:node(getRow(frame, 'US Open', '#E5D1CB', 'USO', firstYear, lastYear)):newline()
   end
   -- Zeile WTA Tour Championships
   if isUsed(frame, firstYear, lastYear, 'WTC') then
     table:node(getRow(frame, 'WTA Tour Championships|Tour Championships', '#FFFFCC', 'WTC', firstYear, lastYear)):newline()
   end
   -- Zeile WTA Chicago
   if isUsed(frame, firstYear, lastYear, 'CHI') then
     table:node(getRow(frame, 'WTA Chicago|Chicago', '#', 'CHI', firstYear, lastYear)):newline()
   end
   -- Zeile WTA Boca Raton
   if isUsed(frame, firstYear, lastYear, 'BOC') then
     table:node(getRow(frame, 'WTA Boca Raton|Boca Raton', '#', 'BOC', firstYear, lastYear)):newline()
   end
   -- Zeile WTA Doha
   if isUsed(frame, firstYear, lastYear, 'DOH') then
     table:node(getRow(frame, 'WTA Doha|Doha', '#', 'DOH', firstYear, lastYear)):newline()
   end
   -- Zeile WTA Dubai
   if isUsed(frame, firstYear, lastYear, 'DUB') then
     table:node(getRow(frame, 'WTA Dubai|Dubai', '#', 'DUB', firstYear, lastYear)):newline()
   end
   -- Zeile WTA Indian Wells
   if isUsed(frame, firstYear, lastYear, 'IND') then
     table:node(getRow(frame, 'WTA Dubai|Dubai', '#', 'IND', firstYear, lastYear)):newline()
   end
   -- Zeile WTA Miami
   if isUsed(frame, firstYear, lastYear, 'MIA') then
     table:node(getRow(frame, 'WTA Miami|Miami', '#', 'MIA', firstYear, lastYear)):newline()
   end
   -- Zeile WTA Hilton Head Island
   if isUsed(frame, firstYear, lastYear, 'HHI') then
     table:node(getRow(frame, 'WTA Hilton Head Island|Hilton Head Island', '#', 'HHI', firstYear, lastYear)):newline()
   end
   -- Zeile WTA Charleston
   if isUsed(frame, firstYear, lastYear, 'CHA') then
     table:node(getRow(frame, 'WTA Charleston|Charleston', '#', 'CHA', firstYear, lastYear)):newline()
   end
   -- Zeile WTA Rom
   if isUsed(frame, firstYear, lastYear, 'ROM') then
     table:node(getRow(frame, 'WTA Rom|Rom', '#', 'ROM', firstYear, lastYear)):newline()
   end
   -- Zeile WTA Madrid
   if isUsed(frame, firstYear, lastYear, 'MAD') then
     table:node(getRow(frame, 'WTA Madrid|Madrid', '#', 'MAD', firstYear, lastYear)):newline()
   end
   -- Zeile WTA Berlin
   if isUsed(frame, firstYear, lastYear, 'BER') then
     table:node(getRow(frame, 'WTA Berlin|Berlin', '#', 'BER', firstYear, lastYear)):newline()
   end
   -- Zeile WTA San Diego
   if isUsed(frame, firstYear, lastYear, 'SDI') then
     table:node(getRow(frame, 'WTA San Diego|San Diego', '#', 'SDI', firstYear, lastYear)):newline()
   end
   -- Zeile WTA Cincinnati
   if isUsed(frame, firstYear, lastYear, 'CIN') then
     table:node(getRow(frame, 'WTA Cincinnati|Cincinnati', '#', 'CIN', firstYear, lastYear)):newline()
   end
   -- Zeile WTA Kanada
   if isUsed(frame, firstYear, lastYear, 'KAN') then
     table:node(getRow(frame, 'WTA Kanada|Kanada', '#', 'KAN', firstYear, lastYear)):newline()
   end
   -- Zeile WTA Tokio
   if isUsed(frame, firstYear, lastYear, 'TOK') then
     table:node(getRow(frame, 'WTA Tokio|Tokio', '#', 'TOK', firstYear, lastYear)):newline()
   end
   -- Zeile WTA München
   if isUsed(frame, firstYear, lastYear, 'MUN') then
     table:node(getRow(frame, 'WTA München|München', '#', 'MUN', firstYear, lastYear)):newline()
   end
   -- Zeile WTA Zürich
   if isUsed(frame, firstYear, lastYear, 'ZUR') then
     table:node(getRow(frame, 'WTA Zürich|Zürich', '#', 'ZUR', firstYear, lastYear)):newline()
   end
   -- Zeile WTA Philadelphia
   if isUsed(frame, firstYear, lastYear, 'PHI') then
     table:node(getRow(frame, 'WTA Philadelphia|Philadelphia', '#', 'PHI', firstYear, lastYear)):newline()
   end
   -- Zeile WTA Peking
   if isUsed(frame, firstYear, lastYear, 'PEK') then
     table:node(getRow(frame, 'WTA Peking|Peking', '#', 'PEK', firstYear, lastYear)):newline()
   end
   -- Zeile WTA Moskau
   if isUsed(frame, firstYear, lastYear, 'MOS') then
     table:node(getRow(frame, 'WTA Moskau|Moskau', '#', 'MOS', firstYear, lastYear)):newline()
   end
   -- Zeile Olympische Spiele
   if isUsed(frame, firstYear, lastYear, 'OLY') then
     table:node(getRow(frame, 'Tennis bei den Olympischen Spielen|Olympische Spiele', '#FFD700', 'OLY', firstYear, lastYear)):newline()
   end
   -- Zeile Fed Cup
   if isUsed(frame, firstYear, lastYear, 'FED') then
     table:node(getRow(frame, 'Fed Cup', '#C2B280', 'FED', firstYear, lastYear)):newline()
   end


   -- komplette Tabelle als String zurückgeben
   return tostring(table)

end

return p