Модуль:Реабилитация
Для документации этого модуля может быть создана страница Модуль:Реабилитация/doc
local pp = {}
local global = mw.ext.luaglobal;
local tools = require( 'Модуль:Tools' )
global.strict( true )
pp[''] = function ( frame )
local args, x = tools.checkargs( frame:getParent().args,
{ 'да', ['дата'] = '',
['дополнение'] = true, ['сноска'] = true, ['источник'] = true } )
local Bio = global.get( 'gBio' ) or {}
local reab = {}
local formatReab = 'Используйте формат {{ реабилитация'
.. ' | дата = <var>дата</var> }} (при отказе в реабилитации добавьте'
.. ' параметр «| нет», при отсутствии сведений — «| неизвестно»)'
local errorDateAdvice = 'Используйте формат даты '
.. '«<var>ЧЧ</var>.<var>ММ</var>.<var>ГГГГ</var>» или '
.. '«<var>ММ</var>.<var>ГГГГ</var>» или «<var>ГГГГ</var>»'
if not args then
return tools.errorMsg( 'реабилитация', 'Неизвестный параметр «' .. x .. '»', formatReab )
end
x = args[1]
if x == 'да' then
reab.state = 1
elseif x == 'нет' then
reab.state = -1
elseif x == 'неизвестно' then
reab.state = 0
else
return tools.errorMsg( 'реабилитация',
'Первый параметр должен быть «да», «нет» или «неизвестно»',
formatReab )
end
reab.date = tools.parseDate( args['дата'] )
if not reab.date then
return tools.errorMsg( 'реабилитация', 'Ошибка в дате реабилитации',
errorDateAdvice )
end
reab.addendum = args['дополнение']
reab.reference = args['сноска']
reab.source = args['источник']
if Bio.reab then
return tools.errorMsg ( 'реабилитация',
'В анкете реабилитация должна указываться лишь единожды',
formatReab )
end
Bio.reab = reab
global.set( 'gBio', Bio )
return '<i></i>'
end
return pp