Moduł:H2H: Różnice pomiędzy wersjami
Wygląd
Nie podano opisu zmian |
Nie podano opisu zmian |
||
| (Nie pokazano 8 pośrednich wersji utworzonych przez tego samego użytkownika) | |||
| Linia 9: | Linia 9: | ||
-- team2 = przeciwnik | -- team2 = przeciwnik | ||
-- | -- | ||
-- | -- nazwa_statystyki1 / nazwa_statystyki2 służą do identyfikacji | ||
-- | -- drużyn niezależnie od historycznych nazw sponsorskich. | ||
-- | -- | ||
-- | -- Zawiera: | ||
-- 1. Bilans ogółem / dom / wyjazd | -- 1. Bilans ogółem / dom / wyjazd | ||
-- 2. | -- 2. Trenerów team1 w rywalizacji | ||
-- 3. | -- 3. Najlepszych strzelców obu drużyn | ||
-- 4. Rekordy indywidualne team1 | -- 4. Rekordy indywidualne team1 | ||
-- 5. Serie zwycięstw / porażek | -- 5. Serie zwycięstw / porażek | ||
-- 6. | -- 6. Analizę kwart | ||
-- 7. Wszystkie mecze | -- 7. Wszystkie mecze | ||
-- 8. | -- 8. Dogrywki 1, 2 i 3 | ||
-- ========================================================= | -- ========================================================= | ||
| Linia 32: | Linia 30: | ||
-- ===================================================== | -- ===================================================== | ||
local team1 = | local team1 = mw.text.trim(frame.args.team1 or "") | ||
local team2 = mw.text.trim(frame.args.team2 or "") | |||
local team2 = | |||
if team1 == "" then | if team1 == "" then | ||
| Linia 59: | Linia 49: | ||
return mw.ustring.gsub( | return mw.ustring.gsub( | ||
value, | tostring(value or ""), | ||
"'", | "'", | ||
"''" | "''" | ||
| Linia 67: | Linia 57: | ||
local team1SQL = | local team1SQL = sql(team1) | ||
local team2SQL = sql(team2) | |||
local team2SQL = | |||
| Linia 84: | Linia 71: | ||
end | end | ||
local tekst = | |||
mw.ustring.gsub( | mw.ustring.gsub( | ||
tostring(value), | tostring(value), | ||
| Linia 91: | Linia 78: | ||
) | ) | ||
return tonumber( | return tonumber(tekst) or 0 | ||
end | end | ||
local function procent( | local function procent(wygrane, mecze) | ||
if mecze == 0 then | if mecze == 0 then | ||
| Linia 105: | Linia 89: | ||
end | end | ||
local | local wartosc = | ||
string.format( | (wygrane / mecze) * 100 | ||
return string.format( | |||
"%.1f%%", | |||
wartosc | |||
):gsub("%.", ",") | |||
end | |||
-- ===================================================== | |||
-- IDENTYFIKACJA STRONY TEAM1 | |||
-- ===================================================== | |||
local function miejsce(row) | |||
if row.ns1 == team1 then | |||
return "dom" | |||
end | |||
if row.ns2 == team1 then | |||
return "wyjazd" | |||
end | |||
return | return nil | ||
end | end | ||
| Linia 142: | Linia 141: | ||
end | end | ||
return nil, nil | return nil, nil | ||
| Linia 150: | Linia 148: | ||
-- ===================================================== | -- ===================================================== | ||
-- NAZWA MECZU | |||
-- NAZWA MECZU | |||
-- ===================================================== | -- ===================================================== | ||
| Linia 185: | Linia 164: | ||
local tekst = | local tekst = | ||
d1 .. | d1 .. " – " .. d2 | ||
if strona ~= "" then | if strona ~= "" then | ||
return | return "[[" .. | ||
strona .. | strona .. | ||
"|" .. | "|" .. | ||
| Linia 208: | Linia 184: | ||
-- ===================================================== | -- ===================================================== | ||
-- PARSOWANIE | -- PARSOWANIE CZĘŚCI WYNIKU | ||
-- ===================================================== | -- ===================================================== | ||
| Linia 216: | Linia 192: | ||
return nil, nil | return nil, nil | ||
end | end | ||
local tekst = | local tekst = | ||
tostring(value) | tostring(value) | ||
local a, b = | local a, b = | ||
| Linia 226: | Linia 200: | ||
"(%d+)%s*:%s*(%d+)" | "(%d+)%s*:%s*(%d+)" | ||
) | ) | ||
if not a or not b then | if not a or not b then | ||
return nil, nil | return nil, nil | ||
end | end | ||
return | return | ||
| Linia 241: | Linia 213: | ||
-- ===================================================== | -- ===================================================== | ||
-- | -- WARUNEK H2H | ||
-- ===================================================== | -- ===================================================== | ||
local | local whereH2H = | ||
"(" .. | |||
"(Mecze.nazwa_statystyki1='" .. | |||
team1SQL .. | |||
"' AND " .. | |||
"Mecze.nazwa_statystyki2='" .. | |||
team2SQL .. | |||
"')" .. | |||
" OR " .. | |||
"(Mecze.nazwa_statystyki1='" .. | |||
team2SQL .. | |||
"' AND " .. | |||
"Mecze.nazwa_statystyki2='" .. | |||
team1SQL .. | |||
"')" .. | |||
")" | |||
-- ===================================================== | |||
-- POBRANIE MECZÓW | |||
-- | |||
-- UWAGA: | |||
-- pola nazywają się KWARTA1, KWARTA2 itd. | |||
-- a nie KWART1. | |||
-- ===================================================== | |||
local fieldsMecze = table.concat({ | |||
"Mecze.id=mecz", | |||
"Mecze.data=data", | |||
"Mecze.sezon=sezon", | |||
"Mecze.druzyna1=druzyna1", | |||
"Mecze.druzyna2=druzyna2", | |||
"Mecze.nazwa_statystyki1=ns1", | |||
"Mecze.nazwa_statystyki2=ns2", | |||
}, ",") | "Mecze.gole1=gole1", | ||
"Mecze.gole2=gole2", | |||
"Mecze.wynik=wynik", | |||
"Mecze.wynik_do_przerwy=wynik_do_przerwy", | |||
"Mecze.kwarta1=kwarta1", | |||
"Mecze.kwarta2=kwarta2", | |||
"Mecze.kwarta3=kwarta3", | |||
"Mecze.kwarta4=kwarta4", | |||
"Mecze.dogrywka1=dogrywka1", | |||
"Mecze.dogrywka2=dogrywka2", | |||
"Mecze.dogrywka3=dogrywka3", | |||
"Mecze.hala=hala", | |||
"Mecze.widzowie=widzowie", | |||
"Mecze.sedziowie=sedziowie", | |||
"Mecze.strona_meczu=strona_meczu" | |||
}, ",") | |||
| Linia 286: | Linia 286: | ||
fieldsMecze, | fieldsMecze, | ||
{ | { | ||
where = whereH2H, | |||
where = | |||
orderBy = | orderBy = | ||
| Linia 314: | Linia 292: | ||
limit = 5000 | limit = 5000 | ||
} | } | ||
) | ) | ||
| Linia 453: | Linia 430: | ||
if wartosc > obecna then | if wartosc > obecna then | ||
lista = { | |||
item | |||
} | |||
item.wartosc = | item.wartosc = | ||
wartosc | wartosc | ||
lista | return lista | ||
elseif wartosc == obecna then | elseif wartosc == obecna then | ||
| Linia 471: | Linia 452: | ||
end | end | ||
return lista | |||
end | end | ||
| Linia 479: | Linia 463: | ||
-- ===================================================== | -- ===================================================== | ||
for _, row | for _, row in ipairs(mecze) do | ||
local zdobyte, | local zdobyte, | ||
stracone = | |||
wynikDruzyny(row) | wynikDruzyny(row) | ||
local miejsceMeczu = | local miejsceMeczu = | ||
| Linia 492: | Linia 473: | ||
if zdobyte | if zdobyte and | ||
and | stracone and | ||
miejsceMeczu then | |||
| Linia 516: | Linia 497: | ||
-- ============================================= | -- ============================================= | ||
-- | -- OGÓŁEM | ||
-- ============================================= | -- ============================================= | ||
local b = | |||
bilans.wszystkie | bilans.wszystkie | ||
b.mecze = | |||
b.mecze + 1 | |||
b.punktyZdobyte = | |||
b.punktyZdobyte + | |||
zdobyte | zdobyte | ||
b.punktyStracone = | |||
b.punktyStracone + | |||
stracone | stracone | ||
| Linia 535: | Linia 518: | ||
if wynikMeczu == "W" then | if wynikMeczu == "W" then | ||
b.wygrane = | |||
b.wygrane + 1 | |||
elseif wynikMeczu == "P" then | elseif wynikMeczu == "P" then | ||
b.przegrane = | |||
b.przegrane + 1 | |||
end | end | ||
| Linia 550: | Linia 533: | ||
-- ============================================= | -- ============================================= | ||
local | local bd = | ||
bilans[miejsceMeczu] | bilans[miejsceMeczu] | ||
bd.mecze = | |||
bd.mecze + 1 | |||
bd.punktyZdobyte = | |||
bd.punktyZdobyte + | |||
zdobyte | zdobyte | ||
bd.punktyStracone = | |||
bd.punktyStracone + | |||
stracone | stracone | ||
| Linia 570: | Linia 551: | ||
if wynikMeczu == "W" then | if wynikMeczu == "W" then | ||
bd.wygrane = | |||
bd.wygrane + 1 | |||
elseif wynikMeczu == "P" then | elseif wynikMeczu == "P" then | ||
bd.przegrane = | |||
bd.przegrane + 1 | |||