Module:Contentious topics/aware

(Redirected from Module:Ds/aware)

local p = {}local getArgs = require('Module:Arguments').getArgsfunction p.detect(frame)local titlelocal args = getArgs(frame)if args.testTitle thentitle = mw.title.new(args.testTitle)elsetitle = mw.title.getCurrentTitle()endlocal content = title:getContent() or ''local codes = string.match(content, "{{%s-[cC]ontentious [tT]opics/[aA]ware%s-|([^}]-)}}")local shortcutCodes = string.match(content, "{{%s-[cC][tT]/[aA]ware%s-|([^}]-)}}")local dsCodes = string.match(content, "{{%s-D[sS]/[aA]ware%s-|([^}]-)}}")if (not codes) and (not dsCodes) and (not shortcutCodes) then return endlocal textif ( codes ) thentext = p._listToText(frame, mw.text.split(codes, "|"))elseif ( dsCodes ) thentext = p._listToText(frame, mw.text.split(dsCodes, "|"))elsetext = p._listToText(frame, mw.text.split(shortcutCodes, "|"))endreturn frame:preprocess("<div style = 'font-weight: bold'>It is not necessary to notify this user about the following topics being contentious topics:"..text.."\n The user has indicated that they are already aware using the template <nowiki>{{Contentious topics/aware}}</nowiki> on their talk page.</div>")endfunction p.listToText(frame)return p._listToText(frame, getArgs(frame))endfunction p._listToText(frame, t)local new = {}local t = require('Module:TableTools').compressSparseArray(t)for i,v in ipairs(t) dotable.insert(new, frame:expandTemplate{title = 'Contentious_topics/list', args = {["scope"] = v}})endreturn '\n*'..table.concat(new, '\n*')endreturn p