check For Unknown Parameters

Для документации этого модуля может быть создана страница Модуль:Check for unknown parameters/doc

-- This module may be used to compare the arguments passed to the parent -- with a list of arguments, returning a specified result if an argument is -- not on the list local p = {}  local function trim(s) return s:match('^%s*(.-)%s*$') end  local function isnotempty(s) return s and trim(s) ~= '' end  function p.check (frame) local args = frame.args local pargs = frame:getParent().args local ignoreblank = isnotempty(frame.args['ignoreblank']) local showblankpos = isnotempty(frame.args['showblankpositional']) local knownargs = {} local unknown = frame.args['unknown'] or 'Found _VALUE_, ' local preview = frame.args['preview']  local values = {} local res = {} local regexps = {}  -- create the list of known args, regular expressions, and the return string for k, v in pairs(args) do if type(k) == 'number' then v = trim(v) knownargs[v] = 1 elseif k:find('^regexp[1-9][0-9]*$') then table.insert(regexps, '^' .. v .. '$') end end if isnotempty(preview) then  preview = '
Xəbərdarlıq: ' .. preview .. ' (bu yazı yalnız sınaq görünüşündə görünür.).
'
elseif preview == nil then preview = unknown end -- loop over the parent args, and make sure they are on the list for k, v in pairs(pargs) do if type(k) == 'string' and knownargs[k] == nil then local knownflag = false for i, regexp in ipairs(regexps) do if mw.ustring.match(k, regexp) then knownflag = true break end end if not knownflag and ( not ignoreblank or isnotempty(v) ) then k = mw.ustring.gsub(k, '[^%w\-_ ]', '?') table.insert(values, k) end elseif type(k) == 'number' and knownargs[tostring(k)] == nil and ( showblankpos or isnotempty(v) ) then local vlen = mw.ustring.len(v) v = mw.ustring.sub(v, 1, (vlen < 25) and vlen or 25) v = mw.ustring.gsub(v, '[^%w\-_ ]', '?') table.insert(values, k .. ' = ' .. v .. ((vlen >= 25) and ' ...' or '')) end end -- add resuls to the output tables if #values > 0 then if frame:preprocess( "{{REVISIONID}}" ) == "" then unknown = preview end for k, v in pairs(values) do if v == '' then -- Fix odd bug for | = which gets stripped to the empty string and -- breaks category links v = ' ' end local r = unknown:gsub('_VALUE_', v) table.insert(res, r) end end return table.concat(res) end function p.generate (frame) local res = '{{#invoke:check for unknown parameters|check\n' .. '|unknown=' .. frame.args['unknown'] .. '\n' local checkerparams = {'ignoreblank', 'preview', 'showblankpositional'} for _, v in pairs(checkerparams) do if frame.args[v] then res = res .. '|' .. v .. '=' .. frame.args[v] .. '\n' end end local templatenamespace = frame.args[1] local templatetitle = frame.args[2] local pagepointer = mw.title.new(templatetitle, templatenamespace) -- именно такой порядок! local text = pagepointer.getContent(pagepointer) local params = {} for param in string.gmatch(text, '\{\{\{([^\|\}]*)') do params[#params+1] = mw.text.trim(param) end table.sort(params) for k, v in pairs(params) do if k == 1 or v ~= params[k-1] then res = res .. '|' .. v end end res = res .. '}}' return res end return p

Tags:

🔥 Trending searches on Wiki Перем Коми (Perem Komi):

Прошева Зинаида АлександровнаШорйыв (Сыктыв район, Куратов посадму)Тюркияись районнэзДӧйӧг (Юсьва район)Январ 7’ лунПожовка (Юсьва район)Лыткин Василий ИльичВомынбӧж (Кулӧмдін район)СуомиПерым кыввезМари РеспубликаХанты кывМойсио (Турку)Чупров Яков ИвановичФевраль 11’ лунВикипедияВылыс Чов (Сыктывкарын)Носим (Кулӧмдін район)Васюк (Кудымкар район, Куваланьын)Эжва (Сыктывкарын)Вад (Кулӧмдін район)Перем Коми кывФедосеева Елена НиколаевнаЕлфимова Анжелика ГеннадьевнаОш (Кӧчладор район)Коми-Пермяцкöй округАфанасьев Евгений СтепановичМексикаись чочком пожумПетукӧв (Кӧчладор район)Кӧсладор районПолугрудов Алексей ВладимировичТоропов Василий ПавловичАмерикаАвра (коммуна)Тарвасъёки (ю)Корпполайсмяки (Турку)Перем коми кывНюдзпоска (Койгорт район)Паттинен (Турку)Кармыльк (Кӧрткерӧс район)Саранин (Кудымкар район)Джеджим (Кулӧмдін район)Canna discolorГрива (Койгорт район)Одыб (Кӧрткерӧс район)Питкямяки (Турку)Фролов (Кулӧмдін район)Скӧрӧдум (Кулӧмдін район)Шахов Николай АлександровичНовсиайнен (коммуна)Ойвыв АмерикаAncistrorhynchusМаримуУличпом (Сыктыв район)Ростов лапӧвУлыс Чов (Сыктывкарын)Кӧрткерӧс районМесопота́мияВаж перем гижӧтЧердынУчӧт Маскаль (Кӧчладор район)Москвина (Кудымкар район)ЛондонКрыкалёв сельсоветРочмуПорськок (Кудымкар район)КоелияУскар (кар)Учӧт Модзга (Юсьва район)СьӧлӧмкылӧмКоми (зыряна) кывНогиев Иван ИвановичMagnolia calophyllaУсь Онолва (Кӧчладор район)🡆 More