local p =
local math_module = require("Module:Math")
local function rnd(num, digits) -- This function implements return math_module._precision_format(tostring(num), digits)end
function p.ifexists(frame) page = frame.args[1] if not page then return (frame.args['no'] or ) end if mw.title.new(page).exists then return (frame.args['yes'] or 'yes') end return (frame.args['no'] or )end
function p.lists(frame) local s = '\n' .. (frame.args[1] or ) .. '\n' s = mw.ustring.gsub(s, '([\r\n])%*([^\r\n]*)', '%1
') s = mw.ustring.gsub(s, '([\r\n])#([^\r\n]*)', '%1
') s = mw.ustring.gsub(s, '%s*([\r\n]*)', '%1') s = mw.ustring.gsub(s, '%s*([\r\n]*)
', '%1') s = mw.ustring.gsub(s, '^[\r\n](.*)[\r\n]$', '%1') return send
function p.precision(frame) return math_module._precision(frame.args[1])end
function p.wpct(frame) local w = tonumber(frame.args[1]) or 0 local l = tonumber(frame.args[2]) or 0 local pct = '–' if (w + l) > 0 then pct = rnd(w / (w + l), 3):gsub('^0', ) end return pctend
function p.extractcolor(frame) local str = frame.args[1] or local color = mw.ustring.match(';' .. str .. ';', '.*;%s*([Cc][Oo][Ll][Oo][Rr]%s*:%s*.-)%s*;') return color or 'NO MATCH'end
local function getBestStatement(item_id, property_id) if not(item_id) or not(mw.wikibase.isValidEntityId(item_id)) or not(mw.wikibase.entityExists(item_id)) then return false end local statements = mw.wikibase.getBestStatements(item_id, property_id) if not statements or #statements
'novalue') if hasNoValue then return false end return statements[1]end
function p.hasOSM(frame) return getBestStatement(mw.wikibase.getEntityIdForCurrentPage, 'P402') and 'yes' or 'no'end
function p.main(frame) local getArgs = require('Module:Arguments').getArgs local args = getArgs(frame,) local team_list = local ii = 1 while args['team'..ii] ~= nil do team_list[args['team'..ii]] = ii ii = ii + 1 end local max_team = ii - 1 local first_team, last_team = 1, max_team if args['showteam'] and team_list[args['showteam']] then first_team = team_list[args['showteam']] - 2 last_team = first_team + 4 if first_team < 1 then first_team = 1 last_team = first_team + 4 end if last_team > max_team then last_team = max_team first_team = max_team - 4 end if first_team < 1 then first_team = 1 end end local hasnotes = false local ii = first_team local res = '
Pos. | Team | Result\n' while args['team'..ii] ~= nil and (ii <= last_team) do res = res .. ' | -\n' res = res .. ' | ' .. ii .. '\n' res = res .. ' | ' .. (args['name_'..args['team' .. ii]] or ) .. '\n' local text_result = args['result'..ii] and args['text_'..args['result'..ii]] or local style_text = if text_result:match('fbmulticompefn') then hasnotes = true style_text = style_text .. 'padding:0;' end style_text = style_text .. (args['result'..ii] and ('background:' .. args['col_'..args['result'..ii]]) or ) res = res .. ' | ' .. text_result .. '\n' ii = ii + 1 end res = res .. ' |
---|
return resend
return p