Модуль:Инопартийность: различия между версиями
Перейти к навигации
Перейти к поиску
StasR (обсуждение | вклад) Нет описания правки |
StasR (обсуждение | вклад) Нет описания правки |
||
Строка 1: | Строка 1: | ||
local pp = {} | local pp = {} | ||
global = mw.ext.luaglobal; | |||
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. | 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] | 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['источник'] | ||
global.add( 'gBund', Bund ) | |||
global. | |||
return '<i></i>' | return '<i></i>' | ||
end | end | ||
return pp | return pp | ||
Версия от 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