Moduł:HistoriaWystepow: Różnice pomiędzy wersjami
Wygląd
Nie podano opisu zmian |
Nie podano opisu zmian |
||
| (Nie pokazano 1 pośredniej wersji utworzonej przez tego samego użytkownika) | |||
| 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 13: | Linia 68: | ||
-- ===================================================== | -- ===================================================== | ||
local zawodnikSQL = mw.ustring.gsub( | local zawodnikSQL = | ||
mw.ustring.gsub( | |||
zawodnik, | |||
"'", | |||
"''" | |||
) | |||
-- ===================================================== | -- ===================================================== | ||
| Linia 48: | 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 131: | ||
limit = 5000 | limit = 5000 | ||
} | } | ||
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 81: | 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 111: | Linia 223: | ||
end | end | ||
-- ===================================================== | -- ===================================================== | ||
| Linia 118: | Linia 231: | ||
local suma = | local suma = | ||
nowePodsumowanie() | nowePodsumowanie() | ||
local dom = | local dom = | ||
nowePodsumowanie() | nowePodsumowanie() | ||
local wyjazd = | local wyjazd = | ||
nowePodsumowanie() | nowePodsumowanie() | ||
-- sezony | |||
local sezony = {} | |||
-- kluby | |||
local kluby = {} | |||
-- ===================================================== | -- ===================================================== | ||
| Linia 165: | 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 179: | 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 228: | 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 260: | Linia 404: | ||
stat.zwyciestwa = | stat.zwyciestwa = | ||
stat.zwyciestwa + 1 | stat.zwyciestwa + 1 | ||
elseif wynik == "P" then | elseif wynik == "P" then | ||
| Linia 265: | Linia 410: | ||
stat.porazki = | stat.porazki = | ||
stat.porazki + 1 | stat.porazki + 1 | ||
elseif wynik == "R" then | elseif wynik == "R" then | ||
| Linia 275: | Linia 421: | ||
end | end | ||
-- ===================================================== | -- ===================================================== | ||
| Linia 314: | Linia 428: | ||
for _, row in ipairs(rows) do | for _, row in ipairs(rows) do | ||
-- WSZYSTKIE | -- ----------------------------------------------- | ||
-- WSZYSTKIE | |||
-- ----------------------------------------------- | |||
dodajDoPodsumowania( | dodajDoPodsumowania( | ||
| Linia 323: | Linia 438: | ||
) | ) | ||
-- ----------------------------------------------- | |||
-- DOM / WYJAZD | -- DOM / WYJAZD | ||
-- ----------------------------------------------- | |||
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 342: | Linia 461: | ||
row | row | ||
) | ) | ||
elseif druzyna == d2 then | elseif druzyna == d2 then | ||
| Linia 352: | Linia 472: | ||
end | end | ||