Модуль:Tools
Материал из Указатель частей и соединений РККА 1941-1945
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
Для документации этого модуля может быть создана страница Модуль:Tools/doc
local tools = {} local global = mw.ext.luaglobal ---------------------------------------------------------------------- |checkargs| function tools.checkargs( args, names, numbers ) local res = {} local hasArg for k, v in pairs( args ) do hasArg = true v = mw.text.trim(v) local dsc if numbers and type( k ) == 'number' then dsc = numbers else dsc = names[k] end if dsc == nil then -- return nil, k error( 'Недопустимый аргумент «' .. k .. '»' ) elseif v == '' then if dsc ~= true then res[k] = dsc end else res[k] = v end end for k, v in pairs( names ) do if not res[k] then if v ~= true then res[k] = v end end end return res, hasArg end function tools.Log( frame ) local args = tools.checkargs( frame:getParent().args, {}, true ) return tools.log( args ) end function tools.dmy( str ) if #str == 10 then return string.sub( str, 9, 10 ) .. '.' .. string.sub( str, 6, 7 ) .. '.' .. string.sub( str, 1, 4 ) elseif #str == 7 then return string.sub( str, 6, 7 ) .. '.' .. string.sub( str, 1, 4 ) else return str end end function tools.ymd( str ) return string.sub( str, 7, 10 ) .. '-' .. string.sub( str, 4, 5 ) .. '-' .. string.sub( str, 1, 2 ) end function tools.log( args ) for _, v in ipairs( args ) do global.add( 'szrLog', v ) end end function tools.PrintLog( frame ) local log = global.get( 'szrLog' ) global.set( 'szrLog', nil ) return '<br>LOG (((((( <br>' .. table.concat( log, '<br>' ) .. '<br>LOG )))))) <br>' end return tools