Модуль:Репрессия

Материал из Кадровый состав НКВД 1935-1939
Перейти к: навигация, поиск

Для документации этого модуля может быть создана страница Модуль:Репрессия/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