Module:Deletion sorting

local p = {}

local function makeError(msg)

return mw.text.tag('strong', {['class']='error'}, 'Error in Template:Deletion sorting: ' .. msg)

end

function p.multi(frame)

local args = {}

local rootpage = '[[Wikipedia:WikiProject Deletion sorting'

local sig = os.date("!%H:%M, %e %B %Y (UTC)")

for k, v in pairs(frame:getParent().args) do

if mw.ustring.match(v,'%S') then

if type(k) == 'number' then

local title = mw.title.new(v)

if title and title.rootText then

table.insert(args, title.rootText)

else

return makeError('Input contains forbidden characters.')

end

elseif k:sub(0,3) == 'sig' then

sig = v

end

end

end

if #args == 0 then

if frame.args.example then args[1] = frame.args.example else return makeError('Category not specified.') end

end

local outStr = 'Note: This discussion has been included in the '

if #args == 1 then

outStr = outStr..rootpage..'/'..args[1]..'|list of '..args[1]..'-related deletion discussions]]'

else

outStr = outStr..rootpage..'|deletion sorting]] lists for the following topics: '

for i = 1, #args do

if i > 1 then

if #args > 2 then outStr = outStr..', ' end

if i == #args then outStr = outStr..' and ' end

end

outStr = outStr..rootpage..'/'..args[i]..'|'..args[i]..']]'

end

end

return mw.text.tag('small', {['class']='delsort-notice'}, outStr..'. '..sig)

end

return p