Moduł:Lista newsów: Różnice pomiędzy wersjami
Z Nonsensopedii, polskiej encyklopedii humoru
M (nie wierzę w swój idiotyzm) |
|||
Linia 1: | Linia 1: | ||
local monthNames = {"styczeń", "luty", "marzec", "kwiecień", "maj", "czerwiec", "lipiec", "sierpień", "wrzesień", "październik", "listopad", "grudzień"} |
|||
local p = {} |
local p = {} |
||
function p.list(frame) |
function p.list(frame) |
||
local day = frame.args[1] |
local day = frame.args[1] |
||
local |
local rawMonth = frame.args[2] |
||
local month |
|||
⚫ | |||
local n = tonumber(rawMonth) |
|||
if n ~= nil then |
|||
if n > 0 and n <= #monthNames then |
|||
month = monthNames[n] |
|||
else |
|||
return mw.smw.info('Niepoprawny numer miesiąca', 'error') |
|||
end |
|||
else |
|||
local find = table.find(monthNames, mw.ustring.lower(rawMonth)) |
|||
if find ~= nil then |
|||
month = mw.ustring.lower(rawMonth) |
|||
else |
|||
return mw.smw.info('Niepoprawna nazwa miesiąca', 'error') |
|||
end |
|||
end |
|||
local eyear = frame.args[3] |
|||
⚫ | |||
if query then |
if query then |
||
local map = {} |
local map = {} |
Wersja z 18:20, 28 sie 2021
Dokumentacja dla tego modułu może zostać utworzona pod nazwą Moduł:Lista newsów/opis
local monthNames = {"styczeń", "luty", "marzec", "kwiecień", "maj", "czerwiec", "lipiec", "sierpień", "wrzesień", "październik", "listopad", "grudzień"}
local p = {}
function p.list(frame)
local day = frame.args[1]
local rawMonth = frame.args[2]
local month
local n = tonumber(rawMonth)
if n ~= nil then
if n > 0 and n <= #monthNames then
month = monthNames[n]
else
return mw.smw.info('Niepoprawny numer miesiąca', 'error')
end
else
local find = table.find(monthNames, mw.ustring.lower(rawMonth))
if find ~= nil then
month = mw.ustring.lower(rawMonth)
else
return mw.smw.info('Niepoprawna nazwa miesiąca', 'error')
end
end
local eyear = frame.args[3]
local query = mw.smw.ask{"[[NonNews:+]] [[Ma dzień::" .. day .. "]] [[Ma miesiąc::" .. month .. "]]", "?Ma dzień=dzień", "?Ma miesiąc=miesiąc", "?Ma rok=rok", limit = 500}
if query then
local map = {}
for k, v in pairs(query) do
--[[
mw.log(k)
mw.logObject(v)
--]]
map[v.rok] = map[v.rok] or {}
table.insert(map[v.rok], v)
end
local wikitext = ""
for i = 2005, eyear do
if #(map[i] or {}) ~= 0 then
wikitext = wikitext .. "'''" .. i .. "'''\n"
for k, v in pairs(map[i]) do
wikitext = wikitext .. "* " .. v[1] .. "\n"
end
end
end
mw.log(wikitext)
return frame:preprocess(wikitext)
else
mw.log("Błąd w zapytaniu SMW")
return mw.smw.info('Błąd w zapytaniu SMW w module "Lista newsów z danego dnia".', 'error')
end
end
return p