Module:Classement : Différence entre versions

De Lagny-sur-Marne Wiki
Aller à : navigation, rechercher
(Prise d'indépendance de Module:Infobox Monument)
 
Ligne 1 : Ligne 1 :
 +
local p = {}
 
local formattingdata = mw.loadData('Module:Classement/Données')
 
local formattingdata = mw.loadData('Module:Classement/Données')
 
local wikidata = require('Module:Wikidata')
 
local wikidata = require('Module:Wikidata')
  
 
function p.formattedList(item)
 
function p.formattedList(item)
 +
-- créé une liste des status patrimoniaux de l'élement
 +
--utilise Module:Classement/Données pour les abréviations, redirects et logos
 +
 
local claims = wikidata.getClaims({item = item, property = 'P1435', exludespecial = true})
 
local claims = wikidata.getClaims({item = item, property = 'P1435', exludespecial = true})
 
if not claims then
 
if not claims then
Ligne 48 : Ligne 52 :
 
return table.concat(stringtable, '<br />') .. '[[Catégorie:Page utilisant des données de Wikidata/P1435]]'
 
return table.concat(stringtable, '<br />') .. '[[Catégorie:Page utilisant des données de Wikidata/P1435]]'
 
end
 
end
 +
return p

Version du 7 mars 2015 à 08:27

La documentation pour ce module peut être créée à Module:Classement/doc

local p = {}
local formattingdata = mw.loadData('Module:Classement/Données')
local wikidata = require('Module:Wikidata')

function p.formattedList(item)
	-- créé une liste des status patrimoniaux de l'élement
	--utilise Module:Classement/Données pour les abréviations, redirects et logos
	
	local claims = wikidata.getClaims({item = item, property = 'P1435', exludespecial = true})
	if not claims then
		return nil
	end
	
	local statuses = {}-- nouvelle table pour ne pas afficher séparément deux statements décrivant le même statut
	for i, j in pairs(claims) do
		local pstatus = wikidata.getmainid(j)
		if not statuses[pstatus] then 
			statuses[pstatus] = {j}
		else
			table.insert(statuses[pstatus], j)
		end
	end
	
	local stringtable = {} -- liste des chaînes à retourner
	for i, j in pairs(statuses) do
		local mainstr = ''
		if formattingdata[i] then
			mainstr = formattingdata[i][1]
		else
			mainstr = wikidata.formatEntity(i)
		end
		local logostr = ''
		if formattingdata[i] and formattingdata[i][2] then
			logostr = '[[File:' .. formattingdata[i][2] .. '|x18px]] ' 
		end

		local t = {} -- informations complémentaires sur les dates et les parties concernées
		for k, l in pairs(j) do
			local protectiondate = wikidata.getFormattedQualifiers(l, {'P580'}, {precision = 'year'})
			if protectiondate then
				table.insert(t, protectiondate)
			end
		end
		local details = table.concat(t, ", ")
		if details ~= '' then
			details = ' <small>(' .. details ..  ')</small>'
		else
			details = ''
		end
		table.insert(stringtable, logostr .. mainstr .. details)
	end
	return table.concat(stringtable, '<br />') .. '[[Catégorie:Page utilisant des données de Wikidata/P1435]]'
end
return p