יחידה:NUMBEROF – הבדלי גרסאות
יצירת דף עם התוכן "--<nowiki> local function trimArg(arg, i) arg = mw.text.trim(arg or '') if arg == '' then if i then error('Parameter ' .. i .. ' is missing. See template documentation') end return nil end return mw.ustring.lower(arg) end local function getValue(stats, action, map) if action == 'depth' then -- https://meta.wikimedia.org/wiki/Wikipedia_article_depth -- This gives silly results if, for example, the number of articles is small. local n = {..." |
אין תקציר עריכה |
||
| (6 גרסאות ביניים של 2 משתמשים אינן מוצגות) | |||
| שורה 1: | שורה 1: | ||
local p = {} | |||
local function trimArg(arg, i) | local function trimArg(arg, i) | ||
arg = mw.text.trim(arg or '') | arg = mw.text.trim(arg or '') | ||
| שורה 13: | שורה 14: | ||
local function getValue(stats, action, map) | local function getValue(stats, action, map) | ||
if action == 'depth' then | if action == 'depth' then | ||
local n = { 'articles', 'edits', 'pages' } | local n = { 'articles', 'edits', 'pages' } | ||
if map then | if map then | ||
| שורה 37: | שורה 36: | ||
local function getIfLocal(site, action) | local function getIfLocal(site, action) | ||
local localSite = string.match(mw.site.server, 'https?://(.-)%.com$') | |||
or string.match(mw.site.server, 'https?://(.-)%.co%.il$') | |||
if site == localSite then | if site == localSite then | ||
if action == 'activeusers' then | if action == 'activeusers' then | ||
| שורה 49: | שורה 46: | ||
end | end | ||
function p.main(frame) | |||
local args = frame:getParent().args | local args = frame.args or frame:getParent().args | ||
local action = trimArg(args[1], 1) -- | local action = trimArg(args[1], 1) -- articles, edits, etc. | ||
if action:sub(1, 8) == 'numberof' then | if not action then return -1 end | ||
if action:sub(1, 8) == 'numberof' then | |||
action = trimArg(action:sub(9), 1) | action = trimArg(action:sub(9), 1) | ||
end | end | ||
local site = trimArg(args[2], 2) | |||
if not site:find('.', 1, true) then | local site = trimArg(args[2], 2) or '' | ||
site = site .. '. | if site ~= 'total' and not site:find('.', 1, true) then | ||
site = site .. '.chabadpedia' | |||
end | end | ||
local wantComma = trimArg(args[3]) | |||
local wantComma = trimArg(args[3]) | |||
local result = getIfLocal(site, action) | local result = getIfLocal(site, action) | ||
if not result then | if not result then | ||
local data = mw.loadData('Module:NUMBEROF/data') | local data = mw.loadData('Module:NUMBEROF/data') | ||
| שורה 70: | שורה 72: | ||
end | end | ||
end | end | ||
if result then | if result then | ||
if wantComma then | if wantComma then | ||
result = mw.getContentLanguage():formatNum(result) | result = mw.getContentLanguage():formatNum(result) | ||
end | end | ||
return result | return result | ||
end | end | ||
return -1 | return -1 | ||
end | end | ||
function p.rank(frame) | |||
local args = frame:getParent().args | local args = frame:getParent().args | ||
local parm = trimArg(args[1], 1 | local parm = trimArg(args[1], 1) | ||
local base = trimArg(args[2]) or ' | local base = trimArg(args[2]) or 'chabadpedia' | ||
local wantComma = trimArg(args[3]) | local wantComma = trimArg(args[3]) | ||
local data = mw.loadData('Module:NUMBEROF/' .. (base == ' | |||
local data = mw.loadData('Module:NUMBEROF/' .. (base == 'chabadpedia' and 'rank' or 'other')) | |||
data = data[base] | data = data[base] | ||
if data then | if data then | ||
local result | local result | ||
| שורה 99: | שורה 104: | ||
end | end | ||
if result then | if result then | ||
return result | return result | ||
end | end | ||
end | end | ||
return -1 | return -1 | ||
end | end | ||
return | return p | ||