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