Modulo:Infobox film/track

Dokumentasion ti modulo

Kitaen daytoy a modulo dagiti argumento a maipasa iti {{Infobox pelikula}} ken manginayon iti Kategoria:Dagiti artikulo nga agus-usar iti Infobox pelikula nga agraman kadagiti saan a husto ti pannakaikabil a silpo no ti maysa a tao a naisilpo iti |producer(s)= ket nailista pay iti |writer= kdpy., wenno ti maysa a tao a naisilpo iti |music= ket nailista pay iti |cinematography= wenno |editing= (iti nangruna a nagan ti espasio laeng).

Manginayon pay daytoy kadagiti singasing a kas ti Ti silpo ti "[[Samuel G. Engel]]" iti |producer= ket nasken a maiyalis iti |screenplay= kadagiti listaan ti Lua (mabalin a magun-od iti "Parser profiling data" iti panagipadas). Maaramid daytoy kadagiti amin a nagan ti espasio.

local p = {}

local function check(args, sources, targets)
	local source
	for _, param in ipairs(sources) do
		if args[param] and args[param] ~= '' then
			source = param
			break
		end
	end
	if not source then
		return nil
	end
	local warnings = {}
	for link in mw.ustring.gmatch(args[source], '%[%[[^%[%]]+%]%]') do
		local name = mw.ustring.match(link, '([^%|]+)%]%]$', 3)
		for _, param in ipairs(targets) do
			if args[param] and args[param] ~= '' then
				local match = mw.ustring.match(args[param], '.?.?%f[%w]' .. name .. '%f[%W]')
				-- Eliminate duplicate links
				if match and not mw.ustring.find(match, '^%[[%[:]') then
					table.insert(warnings, 'Ti silpo ti <code>' .. mw.text.nowiki(link) .. '</code> iti <code>|' .. source .. '=</code> ket nasken a maiyalis iti <code>|' .. param .. '=</code>.')
					break
				end
			end
		end
	end
	return warnings
end

function p.main(frame)
	local args = frame:getParent().args
	local warnings = check(args, {'producer', 'producers'}, {'writer', 'writers', 'screenplay', 'story', 'based_on'}) or {}
	local warnings2 = check(args, {'music'}, {'cinematography', 'editing'}) or {}
	for _, v in ipairs(warnings2) do
		table.insert(warnings, v)
	end
	if #warnings ~= 0 then
		local ret = require('Modulo:If preview')._warning({table.concat(warnings, ' ')})
		local namespace = mw.title.getCurrentTitle().namespace
		if namespace == 0 or namespace == 118 then
			ret = ret .. '[[Kategoria:Pampanid nga agus-usar iti infobox pelikula nga agraman kadagiti saan a husto ti pannakaikabil a silpo]]'
		end
		return ret
	end
end

return p