Moduł:HistoriaWystepow: Różnice pomiędzy wersjami
Wygląd
Nie podano opisu zmian |
Nie podano opisu zmian |
||
| Linia 1: | Linia 1: | ||
local p = {} | local p = {} | ||
-- ========================================================= | |||
-- MODUŁ:HISTORIAWYSTĘPÓW | |||
-- | |||
-- Historia występów zawodnika | |||
-- | |||
-- UWAGA: | |||
-- Moduł pokazuje wyłącznie występy zawodnika | |||
-- w drużynach poznańskich. | |||
-- | |||
-- Liczy się UdzialZawodnika.druzyna, | |||
-- a NIE przeciwnik. | |||
-- | |||
-- Dzięki temu: | |||
-- Enea Basket Poznań vs Resovia -> TAK | |||
-- Resovia vs Enea Basket Poznań -> NIE | |||
-- ========================================================= | |||
-- ========================================================= | |||
-- DRUŻYNY POZNAŃSKIE | |||
-- ========================================================= | |||
-- | |||
-- Tutaj dopisujemy kolejne drużyny poznańskie. | |||
-- | |||
-- Nazwa musi być identyczna z wartością pola "druzyna" | |||
-- w UdzialZawodnika. | |||
-- | |||
local druzynyPoznanskie = { | |||
["Enea Basket Poznań"] = true, | |||
["Enea AZS Politechnika Poznań"] = true, | |||
["Lech Poznań"] = true, | |||
["Warta Poznań"] = true, | |||
["AZS Politechnika Poznań"] = true, | |||
["MUKS Poznań"] = true | |||
} | |||
function p.main(frame) | function p.main(frame) | ||
local zawodnik = frame.args.zawodnik | local zawodnik = | ||
mw.text.trim( | |||
frame.args.zawodnik or "" | |||
) | |||
if zawodnik == "" then | |||
zawodnik = | |||
mw.title | |||
.getCurrentTitle() | |||
.text | |||
end | end | ||
-- ===================================================== | -- ===================================================== | ||
| Linia 14: | Linia 69: | ||
local zawodnikSQL = | local zawodnikSQL = | ||
mw.ustring.gsub(zawodnik, "'", "''") | mw.ustring.gsub( | ||
zawodnik, | |||
"'", | |||
"''" | |||
) | |||
-- ===================================================== | -- ===================================================== | ||
| Linia 45: | Linia 105: | ||
}, ",") | }, ",") | ||
-- ===================================================== | -- ===================================================== | ||
-- ZAPYTANIE CARGO | -- ZAPYTANIE CARGO | ||
-- | |||
-- Pobieramy wszystkie występy zawodnika, | |||
-- a następnie filtrujemy je według drużyny. | |||
-- | |||
-- NIE filtrujemy Mecze.druzyna1/druzyna2, | |||
-- ponieważ przeciwnik może być drużyną poznańską. | |||
-- ===================================================== | -- ===================================================== | ||
| Linia 67: | Linia 134: | ||
} | } | ||
local rows = mw.ext.cargo.query( | |||
local rows = | |||
mw.ext.cargo.query( | |||
"UdzialZawodnika,Mecze", | |||
) | fields, | ||
args | |||
) | |||
-- ===================================================== | |||
-- FILTR DRUŻYN POZNAŃSKICH | |||
-- | |||
-- Sprawdzamy U.druzyna. | |||
-- | |||
-- Dzięki temu zawodnik występujący przeciwko | |||
-- drużynie poznańskiej, ale reprezentujący | |||
-- drużynę przyjezdną, NIE zostanie uwzględniony. | |||
-- ===================================================== | |||
local tylkoPoznanskie = {} | |||
if rows then | |||
for _, row in ipairs(rows) do | |||
local druzyna = | |||
mw.text.trim( | |||
row.druzyna or "" | |||
) | |||
if druzynyPoznanskie[druzyna] then | |||
table.insert( | |||
tylkoPoznanskie, | |||
row | |||
) | |||
end | |||
end | |||
end | |||
rows = | |||
tylkoPoznanskie | |||
-- ===================================================== | -- ===================================================== | ||
| Linia 79: | Linia 190: | ||
if not rows or #rows == 0 then | if not rows or #rows == 0 then | ||
return "''Brak wprowadzonych występów w bazie.''" | return | ||
"''Brak wprowadzonych występów zawodnika " | |||
.. "dla drużyn poznańskich w bazie.''" | |||
end | end | ||
-- ===================================================== | -- ===================================================== | ||
-- | -- PODSUMOWANIE | ||
-- ===================================================== | -- ===================================================== | ||
| Linia 109: | Linia 223: | ||
end | end | ||
-- ===================================================== | -- ===================================================== | ||
| Linia 116: | Linia 231: | ||
local suma = | local suma = | ||
nowePodsumowanie() | nowePodsumowanie() | ||
local dom = | local dom = | ||
nowePodsumowanie() | nowePodsumowanie() | ||
local wyjazd = | local wyjazd = | ||
nowePodsumowanie() | nowePodsumowanie() | ||
-- sezony | -- sezony | ||
local sezony = {} | local sezony = {} | ||
-- kluby | -- kluby | ||
local kluby = {} | local kluby = {} | ||
-- ===================================================== | -- ===================================================== | ||
| Linia 137: | Linia 259: | ||
local d1 = | local d1 = | ||
row.druzyna1 or "" | row.druzyna1 or "" | ||
local d2 = | local d2 = | ||
row.druzyna2 or "" | row.druzyna2 or "" | ||
local druzyna = | local druzyna = | ||
row.druzyna or "" | row.druzyna or "" | ||
local wynikMeczu = | local wynikMeczu = | ||
row.wynik or "" | row.wynik or "" | ||
local g1, g2 = | local g1, g2 = | ||
| Linia 151: | Linia 277: | ||
"(%d+)%s*:%s*(%d+)" | "(%d+)%s*:%s*(%d+)" | ||
) | ) | ||
if not g1 or not g2 then | if not g1 or not g2 then | ||
return nil | return nil | ||
end | end | ||
g1 = tonumber(g1) | |||
g2 = tonumber(g2) | g1 = | ||
tonumber(g1) | |||
g2 = | |||
tonumber(g2) | |||
if druzyna == d1 then | if druzyna == d1 then | ||
if g1 > g2 then | if g1 > g2 then | ||
return "W" | return "W" | ||
elseif g1 < g2 then | elseif g1 < g2 then | ||
return "P" | return "P" | ||
else | else | ||
return "R" | return "R" | ||
end | end | ||
elseif druzyna == d2 then | elseif druzyna == d2 then | ||
if g2 > g1 then | if g2 > g1 then | ||
return "W" | return "W" | ||
elseif g2 < g1 then | elseif g2 < g1 then | ||
return "P" | return "P" | ||
else | else | ||
return "R" | return "R" | ||
end | end | ||
end | end | ||
return nil | return nil | ||
end | end | ||
-- ===================================================== | -- ===================================================== | ||
| Linia 200: | Linia 346: | ||
stat.wystepy = | stat.wystepy = | ||
stat.wystepy + 1 | stat.wystepy + 1 | ||
stat.punkty = | stat.punkty = | ||
stat.punkty | stat.punkty | ||
+ tonumber(row.gol or 0) | + ( | ||
tonumber(row.gol or 0) | |||
or 0 | |||
) | |||
stat.minuty = | stat.minuty = | ||
stat.minuty | stat.minuty | ||
+ tonumber(row.minuty or 0) | + ( | ||
tonumber(row.minuty or 0) | |||
or 0 | |||
) | |||
stat.asysty = | stat.asysty = | ||
stat.asysty | stat.asysty | ||
+ tonumber(row.asysta or 0) | + ( | ||
tonumber(row.asysta or 0) | |||
or 0 | |||
) | |||
stat.zbiorki = | stat.zbiorki = | ||
stat.zbiorki | stat.zbiorki | ||
+ tonumber(row.zbiorka or 0) | + ( | ||
tonumber(row.zbiorka or 0) | |||
or 0 | |||
) | |||
stat.eval = | stat.eval = | ||
stat.eval | stat.eval | ||
+ tonumber(row.eval or 0) | + ( | ||
tonumber(row.eval or 0) | |||
or 0 | |||
) | |||
stat.plusminus = | stat.plusminus = | ||
stat.plusminus | stat.plusminus | ||
+ tonumber(row.plusminus or 0) | + ( | ||
tonumber(row.plusminus or 0) | |||
or 0 | |||
) | |||
local wynik = | local wynik = | ||
okreslWynik(row) | okreslWynik(row) | ||
if wynik == "W" then | if wynik == "W" then | ||
| Linia 232: | Linia 404: | ||
stat.zwyciestwa = | stat.zwyciestwa = | ||
stat.zwyciestwa + 1 | stat.zwyciestwa + 1 | ||
elseif wynik == "P" then | elseif wynik == "P" then | ||
| Linia 237: | Linia 410: | ||
stat.porazki = | stat.porazki = | ||
stat.porazki + 1 | stat.porazki + 1 | ||
elseif wynik == "R" then | elseif wynik == "R" then | ||
| Linia 246: | Linia 420: | ||
end | end | ||
-- ===================================================== | -- ===================================================== | ||
| Linia 252: | Linia 427: | ||
for _, row in ipairs(rows) do | for _, row in ipairs(rows) do | ||
-- ----------------------------------------------- | -- ----------------------------------------------- | ||
| Linia 261: | Linia 437: | ||
row | row | ||
) | ) | ||
-- ----------------------------------------------- | -- ----------------------------------------------- | ||
| Linia 268: | Linia 445: | ||
local d1 = | local d1 = | ||
row.druzyna1 or "" | row.druzyna1 or "" | ||
local d2 = | local d2 = | ||
row.druzyna2 or "" | row.druzyna2 or "" | ||
local druzyna = | local druzyna = | ||
row.druzyna or "" | row.druzyna or "" | ||
if druzyna == d1 then | if druzyna == d1 then | ||
| Linia 281: | Linia 461: | ||
row | row | ||
) | ) | ||
elseif druzyna == d2 then | elseif druzyna == d2 then | ||
| Linia 290: | Linia 471: | ||
end | end | ||
-- ----------------------------------------------- | -- ----------------------------------------------- | ||
| Linia 297: | Linia 479: | ||
local sezon = | local sezon = | ||
row.sezon or "" | row.sezon or "" | ||
if sezon == "" then | if sezon == "" then | ||
sezon = "Brak sezonu" | |||
sezon = | |||
"Brak sezonu" | |||
end | end | ||
if not sezony[sezon] then | if not sezony[sezon] then | ||
| Linia 308: | Linia 495: | ||
end | end | ||
dodajDoPodsumowania( | dodajDoPodsumowania( | ||
| Linia 313: | Linia 501: | ||
row | row | ||
) | ) | ||
-- ----------------------------------------------- | -- ----------------------------------------------- | ||
| Linia 319: | Linia 508: | ||
if druzyna == "" then | if druzyna == "" then | ||
druzyna = "Brak klubu" | |||
druzyna = | |||
"Brak klubu" | |||
end | end | ||
if not kluby[druzyna] then | if not kluby[druzyna] then | ||
| Linia 328: | Linia 521: | ||
end | end | ||
dodajDoPodsumowania( | dodajDoPodsumowania( | ||
| Linia 335: | Linia 529: | ||
end | end | ||
-- ===================================================== | -- ===================================================== | ||
| Linia 343: | Linia 538: | ||
local godziny = | local godziny = | ||
math.floor(minuty / 60) | math.floor( | ||
minuty / 60 | |||
) | |||
local min = | local min = | ||
minuty % 60 | minuty % 60 | ||
return string.format( | return string.format( | ||
| Linia 355: | Linia 554: | ||
end | end | ||
-- ===================================================== | -- ===================================================== | ||
| Linia 361: | Linia 561: | ||
local listaSezonow = {} | local listaSezonow = {} | ||