Модуль:Инопартийность: различия между версиями

Материал из Кадровый состав НКВД 1935-1939
Перейти к навигации Перейти к поиску
Нет описания правки
 
Нет описания правки
Строка 1: Строка 1:
local pp = {}
local pp = {}
local global = mw.ext.luaglobal;
global = mw.ext.luaglobal;
local tools = require( 'Модуль:Tools' )
tools = require( 'Модуль:Tools' )
global.strict( true )
global.strict( true )


Строка 13: Строка 13:
.. '«<var>ЧЧ</var>.<var>ММ</var>.<var>ГГГГ</var>» или '
.. '«<var>ЧЧ</var>.<var>ММ</var>.<var>ГГГГ</var>» или '
.. '«<var>ММ</var>.<var>ГГГГ</var>» или «<var>ГГГГ</var>»'
.. '«<var>ММ</var>.<var>ГГГГ</var>» или «<var>ГГГГ</var>»'
local Args = tools.args( frame:getParent().args )
local Args, err = tools.checkargs( frame:getParent().args,
local gBund = global.get( 'gBund' ) or {}
{ true, ['член'] = true, ['выбыл'] = true,
['дополнение'] = true, ['сноска'] = true, ['источник'] = true, } )
if not Args then
return tools.errorMsg( 'инопартийность', 'Непредусмотренный параметр ' .. err, errorDateAdvice )
end
local name = Args[1]
local name = Args[1]
if not name then  
if not name then  
Строка 35: Строка 39:
Bund['дополнение'], Bund['сноска'], Bund['источник'] =  
Bund['дополнение'], Bund['сноска'], Bund['источник'] =  
Args['дополнение'], Args['сноска'], Args['источник']
Args['дополнение'], Args['сноска'], Args['источник']
table.insert( gBund, Bund )
global.add( 'gBund', Bund )
global.set( 'gBund', gBund )
return '<i></i>'
return '<i></i>'
end
end


return pp
return pp
--[===[
--[[------------------------------------------------------------------------]]--
pp['Инопартийность'] = function ( frame )
Frame = frame
Args = frame:getParent().args
local gBund =  mw.text.trim( Args[1] or '' )
if global.get( 'gBund' ) then
return tools.errorMsg( 'Инопартийность',
'Повторное использование шаблона «Инопартийность»' )
end
local addendum, comment, source =
Args['дополнение'] or '', Args['сноска'] or '', Args['источник'] or ''
if gBund ~= '' then
global.set( 'gBund', { gBund, addendum, comment, source } )
end
return '<i></i>'
end
--]===]

Версия от 14:46, 25 января 2018

Для документации этого модуля может быть создана страница Модуль:Инопартийность/doc

local pp = {}
global = mw.ext.luaglobal;
tools = require( 'Модуль:Tools' )
global.strict( true )

pp.Main = function ( frame )
	local errorAdvice = 'Используйте формат {{ инопартийность | '
		.. '<var>член такой-то партии</var> | '
		.. 'член = <var>дата</var> | выбыл = <var>дата</var> | '
		.. 'дополнение = <var>текст</var> | сноска =  <var>текст</var> | '
		.. 'источник = <var>текст</var> }}.'
	local errorDateAdvice = 'Используйте формат даты '
		.. '«<var>ЧЧ</var>.<var>ММ</var>.<var>ГГГГ</var>» или '
		.. '«<var>ММ</var>.<var>ГГГГ</var>» или «<var>ГГГГ</var>»'
	local Args, err = tools.checkargs( frame:getParent().args,
		{ 	true, ['член'] = true, ['выбыл'] = true, 
			['дополнение'] = true, ['сноска'] = true, ['источник'] = true, } )
	if not Args then
		return tools.errorMsg( 'инопартийность', 'Непредусмотренный параметр ' .. err, errorDateAdvice )
	end
	local name = Args[1]
	if not name then 
		return tools.errorMsg( 'инопартийность', 
			'Нет указания партии', errorAdvice )
	end
	local Bund = { ['партия'] = name }
	local dates = { 'член', 'выбыл' }
	local tmp
	for _, x in ipairs( dates ) do
		if Args[x] then
			tmp = tools.parseDate( Args[x], 1880 )
			if not tmp then
				return tools.errorMsg( 'инопартийность', 
					'Ошибка в записи даты «' .. x .. '»', errorDateAdvice )
			end
			Bund[x] = tmp
		end
	end
	Bund['дополнение'], Bund['сноска'], Bund['источник'] = 
		Args['дополнение'], Args['сноска'], Args['источник']
	global.add( 'gBund', Bund )
	return '<i></i>'
end

return pp