Module:Infobox/Fonctions/Bâtiment : Différence entre versions

De Lagny-sur-Marne Wiki
Aller à : navigation, rechercher
(+ style architectural)
Ligne 52 : Ligne 52 :
 
return {
 
return {
 
type = 'mixed',
 
type = 'mixed',
label = 'Architecte',
+
label = function(localdata, item) return localdata['titre architecte'] or 'Architecte' end,
value = 'architecte',
+
value = 'architecte',  
property = 'P84'
+
wikidata = wikidatamod.formatAndCat{item = item, property = 'P84', showqualifiers = 'P518'}
 
}
 
}
 
end
 
end
Ligne 64 : Ligne 64 :
 
value = 'ingénieur',
 
value = 'ingénieur',
 
property = 'P631'
 
property = 'P631'
 +
}
 +
end
 +
 +
local function protectionline(localdata, item)
 +
local logos = require('Module:Logos classement')
 +
local claims = wikidatamod.getClaims({item=item, property = 'P1435', exludespecial = true})
 +
if not claims then return nil end
 +
for i, j in pairs(claims) do
 +
local val = wikidatamod.getmainid(j)
 +
local logo = logos[val]
 +
logostr = ''
 +
if logo then
 +
logostr = '[[File:' .. logo .. '|x18px]] '
 +
end
 +
claims[i] = logostr .. wikidatamod.formatStatement(j)
 +
end
 +
return table.concat(claims, '<br />') .. '[[Catégorie:Page utilisant des données de Wikidata/P1435]]'
 +
end
 +
 +
function p.protection(localdata, item)
 +
return {
 +
type = 'mixed',
 +
label = 'Protection',
 +
value = 'classement',
 +
wikidata = protection(locadata, item)
 
}
 
}
 
end
 
end

Version du 26 décembre 2014 à 22:09

La documentation pour ce module peut être créée à Module:Infobox/Fonctions/Bâtiment/doc

local p = {}
local wikidatamod = require 'Module:Wikidata'
local general = require 'Module:Infobox/Fonctions'
local coordfunctions = require 'Module:Infobox/Fonctions/Géolocalisation'

--Titre
function p.title()
	--	local class = en-tête par défaut à définir ici ?
	return general.title()
end

--Image
function p.mainimage(cat, defaultimage)
	if not cat then 
		cat = 'Article à illustrer Bâtiment divers'
	end
	return general.mainimage(cat, defaultimage)
end

function p.coordinates(coordspecs)
	return coordfunctions.coordinates(coordspecs)
end

function p.website() 
	return general.website()
end


function p.address()
	return	{
		type = 'mixed',
		label = 'Adresse',
		value = 'adresse',
		wikidata = function() return require('Module:Adresse').wikidataAddress({item=item}) end,
	}
end

function p.country(default)
 return	coordfunctions.country(default)	
end

function p.archistyle()
	return {
		type = 'mixed',
		label = 'Style architectural',
		value = 'style architectural',
		property = 'P149', 
	}
end

function p.architect()
	return {
		type = 'mixed',
		label = function(localdata, item) return localdata['titre architecte'] or 'Architecte' end,
		value = 'architecte', 
		wikidata = wikidatamod.formatAndCat{item = item, property = 'P84', showqualifiers = 'P518'}
	}
end

function p.engineer()
	return {
		type = 'mixed',
		label = 'Ingénieur',
		value = 'ingénieur',
		property = 'P631'
	}
end

local function protectionline(localdata, item)
	local logos = require('Module:Logos classement')
	local claims = wikidatamod.getClaims({item=item, property = 'P1435', exludespecial = true})
	if not claims then return nil end
	for i, j in pairs(claims) do
		local val = wikidatamod.getmainid(j)
		local logo = logos[val]
		logostr = ''
		if logo then 
			logostr = '[[File:' .. logo .. '|x18px]] ' 
		end
		claims[i] = logostr .. wikidatamod.formatStatement(j)
	end
	return table.concat(claims, '<br />') .. '[[Catégorie:Page utilisant des données de Wikidata/P1435]]'
end

function p.protection(localdata, item)
	return {
		type = 'mixed',
		label = 'Protection',
		value = 'classement',
		wikidata = protection(locadata, item)
	}
end

function p.geoloc(params)
	return coordfunctions.geoloc(params)
end

return p