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 NO_VALUE              = "Nav vērtības"

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

function pad(str, len)
    return string.rep('0', len - #str) .. str
end
--[=[
function pad(str, len, char)
    if char == nil then char = ' ' end
    return string.rep(char, len - #str) .. str
end
]=]

function p._main(args)
	local categories = {}
	local value
	local param = args.param
	--format = "(ch|tt)%d*" (ev\d{7}/\d{4})|((tt|nm|ch|co|ev)\d{7})
	local nowikidata = false
	local nowd = yesno(args.nowd)
	local type = args.type--ch/tt etc.
	
	if param then
		if nowikidata == false then
			value = type .. pad(param, 7, '0')
		end
	else
		table.insert(categories, NO_VALUE)
	end
	
	if entity then
		if entity.claims["P345"] then
			local mainsnak = entity.claims["P345"][1].mainsnak
		
			if mainsnak.snaktype == 'value' then
				local wdvalue = mainsnak.datavalue.value
			end
		end
	end
	
	if value then
		formatmatch = string.match(param, "%d%d%d%d%d%d%d")--(tt|nm|ch|co|ev)
		if not formatmatch then
			table.insert(categories, FORMAT_CATEGORY)
		end
	end
	
	for i, cat in ipairs(categories) do
		--categories[i] = string.format('[[Kategorija:%s]]', cat)
		categories[i] = cat
	end

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

function p.main(frame)
	local args = getArgs(frame)
	--[=[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