Модуль:HF/Infobox/Team

Материал из Викимультии — энциклопедии мультипликации
Перейти к навигации Перейти к поиску


Документация
local Infobox = {}
-------------------------------------
-- Библиотеки и глобальные функции --
-------------------------------------
-- обозначает высокочастотный
local HF = require('Module:HF')
-- Анализирует параметры вызова и шаблона, удаляет пробелы и удаляет пробелы.
local getArgs = require('Module:Arguments').getArgs
-- Создает списки
local L = require('Module:List')
-- Языковые функции
local language = mw.language.new('ru')
-- Шаблон Константы
local stripLinkToTarget = '^%[*([^%[|]*)|?'
-- Заголовок любой страницы, вызывающей функцию
local pageTitle = mw.title.getCurrentTitle().text
-----------------------------------------------------------
-- Локальные функции (используются только в этом модуле) --
-----------------------------------------------------------
local function nameCheck ( target )
	local nq = mw.smw.ask{ HF.Link(target:match(stripLinkToTarget)), '?Обслуживание' }
	if type(nq) == 'table' 
	    and (nq[1]['Обслуживание'] == 'Название' 
            or (
    	        type(nq[1]['Обслуживание']) == 'table' 
                and table.concat(nq[1]['Обслуживание']):match('Название')
            )
        )
    then
		return true
	else
		return nil
	end
end
---------------------------------------------------------
-- Открытые функции (вызываются из шаблона или статьи) --
---------------------------------------------------------
function Infobox.titleTeam(frame)
	local args = getArgs(frame)
	local out = {}
	if mw.title.getCurrentTitle().isContentPage == true then
		table.insert( out, HF.Category('Команды по алфавиту') )
		if args['безымянный'] == 'Да' then
			mw.smw.set{ ['Обслуживание'] = 'Название' }
			table.insert( out, ("''%s''"):format( pageTitle:match("%s*[^(]*") ) )
		else
			table.insert( out, pageTitle:match("%s*[^(]*") )
		end
		mw.smw.set { ['Название'] = pageTitle:gsub(''',"'") }
		return table.concat( out ) .. ( args['ref'] or '' )
	elseif mw.title.getCurrentTitle().namespace == 10
		and not pageTitle:match('/testcases') then
			return nil
	else
		return args['english'] or pageTitle:match("[^(]*")
	end
end
-------------------------------------------------------------------
-- Экспортируемые функции (используются в этом и других модулях) --
-------------------------------------------------------------------
-- Нет.
-------------------------------------------------
-- Вывод (отправьте его обратно как угодно) --
-------------------------------------------------
return Infobox