Pāriet uz saturu

Modulis:IMDb

Permanently protected module
Vikipēdijas lapa
Dokumentācijas ikona Moduļa dokumentācija[izveidot]
local FORMAT_CATEGORY       = "Lapas ar IMDb veidni, kam ir nederīga vērtība"
local WD_DIFFERENT_CATEGORY = "P345: nesakrīt ar vērtību Vikidatos"
local NOT_IN_WD_CATEGORY    = "P345: nav Vikidatos"

local p = {}
local entity = mw.wikibase.getEntityObject()
local yesno = require('Module:Yesno')
--local getArgs = require('Module:Arguments').getArgs

function p._main(args)
	local categories = {}
	local result
	local param = args.param
	local format = args.format
	local nowikidata = false
	
	if format and param then
		result = mw.ustring.match(param, format)
		if not result then
			result = param
			table.insert(categories, FORMAT_CATEGORY)
		end
	else
		result = param
	end

	do
		local success, val = pcall(function ()
			local mainsnak = entity.claims[P345][1].mainsnak
			if mainsnak.snaktype == 'value' then
				return mainsnak.datavalue.value
			end
		end)
		if success and val then
			result = val
			if param and val ~= param then
				table.insert(categories, WD_DIFFERENT_CATEGORY)
			end
		else
			table.insert(categories, NOT_IN_WD_CATEGORY)
		end
	end

	for i, cat in ipairs(categories) do
		--categories[i] = string.format('[[Kategorija:%s]]', cat)
		categories[i] = cat
	end

	return (result or '') .. table.concat(categories)
end

function p.main(frame)
	local args = require('Module:Arguments').getArgs(frame, {
		wrappers = "Veidne:IMDB",
					"Veidne:IMDB filma",
					"Veidne:IMDB sērija",
					"Veidne:IMDB sērijas",
					"Veidne:IMDB tēls",
					"Veidne:IMDB uzņēmums"
})
	return p._main(args)
end

return p