Автомобильные номера Пакистана

Материал из Энциклопедия автомобильных номеров мира
Версия от 13:11, 15 февраля 2015; Admin (обсуждение | вклад) (Новая страница: «Test»)
Перейти к навигации Перейти к поиску

local p = {}

-- используется для того, чтобы можно было удалять элементы из таблицы local function copy(other) local res = {} for k,v in pairs(other) do res[k] = v end return res end

-- вызов шаблона, при ошибке возвращает пустую строку local function expand(frame, tname, targs) local success, result = pcall( frame.expandTemplate, frame, {title = tname, args = targs} ) if success then return result else return end --return frame:expandTemplate({title = tname, args = args}) end

--предотвращает обработку вики-текста в отображении образца local function nowiki(str) local res = str str = string.gsub(str,'%[','[') str = string.gsub(str,'%]','\') str = string.gsub(str,'<','<') str = string.gsub(str,'>','>') str = string.gsub(str,'{','{') str = string.gsub(str,'}','}') return str end


function p.main(frame) if not getArgs then getArgs = require('Module:Arguments').getArgs end local args = copy(getArgs(frame)) --copy(frame.args) local tag = args._tag or 'code' local sep = args._sep or '→' -- по умолчанию "→" local link = require('Module:Yesno')(args._link, false) local nwt = mw.html.create(tag):tag(tag) --"no-wiki tag", внутри него шаблон не вызывается local content = '{{' --для накопления содержимого тэга local tname = args._template or args[1]

if args._template == nil then --имя вызываемого шаблона в неименованном первом параметре, больше его обрабатывать не надо table.remove(args,1) end if link then content = content .. '' .. tname .. '' else content = content .. tname end local targs = {} for k, v in pairs(args) do if type(k) == 'number' then --неименованные параметры targs[k] = v content = content .. '|' .. nowiki(v) elseif not k:find('^_') then --именованные параметры, исключая модификаторы внешнего вида targs[k] = v content = content .. '|' .. k .. '=' .. nowiki(v) end end content = content .. '}}' nwt:wikitext(content):done()

return tostring(nwt) .. ' ' .. sep .. ' ' .. tostring(expand(frame, tname, targs)) end

return p