Модуль:Tools: различия между версиями
Материал из Указатель частей и соединений РККА 1941-1945
Строк (обсуждение | вклад) |
Строк (обсуждение | вклад) |
||
Строка 42: | Строка 42: | ||
function tools.dmy( str ) | function tools.dmy( str ) | ||
− | return string.sub( str, 9, 10 ) .. '.' .. string.sub( str, 6, 7 ) .. '.' .. string.sub( str, 1, 4 ) | + | 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 | end | ||
Текущая версия на 11:03, 15 февраля 2020
Для документации этого модуля может быть создана страница Модуль: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