Module:Sandbox/Od Mishehu/top25 explained

local p = ;

p.list = function(frame) text = "This article has been viewed enough times in a single week to make it into the top 25 viewed articles of that week";

frame = frame:getParent;

args = frame.args Date = require('Module:Date')._Date

local int count=0; local list="

\n"

if count>5 then list = frame:expandTemplate .. list .. frame:expandTemplate else list = "
The weeks in which this happened:" .. list end

if mw.title.getCurrentTitle.namespace

1 then text =text..""; end text = text .. list if #errors > 0 then text = text .. "\n\n

The following dates couldn't be parsed:\n#" text = text .. table.concat(errors,"\n#") .. "\n" end return frame:expandTemplate

end

function range(date) date2 = date + 6; if not (date2:text("%Y")

date:text("%Y")) then return date:text("%B %-d, %Y").." to "..date2:text("%B %-d, %Y") else if not (date2:text("%B")

date:text("%B")) then return date:text("%B %-d") .. " to "..date2:text("%B %-d, %Y") else return date:text("%B %-d") .. " to "..date2:text("%-d, %Y") end end

end

function line(date) local link = ""..range.."" return link

end

function userLink(username) return string.format("%s", username, username)end

p.header = function(frame) text=frame:expandTemplate text = text .. "\n" if mw.title.getCurrentTitle.subpageText

"Report header" then return text end frame = frame:getParent Date = require('Module:Date')._Date local date=Date(frame.args[1]) text = text .. '

\n' text = text .. "

Most Popular Wikipedia Articles of the Week (" text = text .. range(date).. ")

\n"

count=0 for index,nameStr in pairs(frame.args) do if not (index

1) then count = count + 1 end end

if count>0 then text = text .. "Prepared with commentary by " if count

1 then text = text .. userLink(frame.args[2]) elseif count

2 then text = text .. userLink(frame.args[2]) .. " and " .. userLink(frame.args[3]) else i = 2 while i<= count do text = text .. userLink(frame.args[i]) .. ", " i = i+1 end text = text .. " and " .. userLink(frame.args[count+1]) end end

key = " "

text = text .. "\n\nā† December 2012 monthly report" else text = text .. range(date-7) .. "|Last week's report]]" end if not (mw.title.getCurrentTitle.subpageText

"Top 25 Report") then text = text .. " ā€“ Next week's report ā†’" key = date:text("%Y%m%d") end if mw.title.getCurrentTitle.namespace

4 then text = text.."" end return textend

return p;