Module:Infobox/Monument

De Lagny-sur-Marne Wiki
< Module:Infobox
Révision datée du 26 décembre 2014 à 20:03 par Zolo (discussion) (ajout cat de maintenance)
Aller à : navigation, rechercher

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

local building = require "Module:Infobox/Fonctions/Bâtiment"
local general = require "Module:Infobox/Fonctions"
local wikidata = require "Module:Wikidata"
local logos = require('Module:Logos classement')

local function protectionline(localdata, item)
	local claims = wikidata.getClaims({item=item, property = 'P1435', exludespecial = true})
	if not claims then return nil end
	for i, j in pairs(claims) do
		local val = wikidata.getmainid(j)
		local logo = logos[val]
		logostr = ''
		if logo then 
			logostr = '[[File:' .. logo .. '|x18px]] ' 
		end
		claims[i] = logostr .. wikidata.formatEntity(val, {})
	end
	return table.concat(claims, '<br />')
end


return 
	{
	maincolor = '#E6E3CF',
	parts =
    	{
			general.title(),
			general.logo(),
			building.mainimage(),
			{type = 'table', title = 'Présentation', rows = {
				{type = 'mixed', label = 'Nom local', value = 'nom local'},
				{type = 'mixed', label = 'Noms précédents', value = 'noms précédents'},
				{type = 'mixed', label = 'Surnom(s)', value = 'surnom'},
				{type = 'mixed', label = 'Nom complet', value = 'nom complet'},
				{type = 'mixed', label = 'Période ou style', value = 'style', property = 'P149'},
				{type = 'mixed', label = 'Type', value = 'type'}, -- property = 'P31' ?
				{type = 'mixed', label = function(localdata, item) return localdata['titre architecte'] or 'Architecte' end, value = 'architecte', 
					wikidata = wikidata.formatAndCat{item = item, property = 'P84', showqualifiers = 'P518'}
				},
				{type = 'mixed', label = 'Date de construction', value = 'date de construction',
					wikidata = wikidata.getTheDate{property = 'P793', targetvalue = 'Q385378', addcat = true}
				},
				{type = 'mixed', label = 'Commanditaire', value = 'commanditaire', property = 'P88'},
				{type = 'mixed', label = 'Dimensions', value = 'hauteur'},
				{type = 'mixed', label = 'Destination initiale', value = 'destination initiale'},
				{type = 'mixed', label = 'Propriétaire', value = 'propriétaire', property = 'P127'},
				{type = 'mixed', label = 'Destination actuelle', value = 'destination actuelle'},
				{type = 'mixed', label = 'Date de démolition', value = 'date de démolition',
					wikidata = wikidata.getTheDate{property = 'P793', targetvalue = 'Q331483', addcat = true}	
				},
				{type = 'mixed', label = 'Protection', value = 'classement',
					wikidata = protectionline(localdata, item)
						
				},
				building.website(),
				}
			},
			{type = 'table', title = 'Géographie', rows = {	
				building.country(),
				{type = 'mixed', label = 'Région', value = 'région'},
				{type = 'mixed', label = function(localdata, item) return localdata['intitulé subdivision'] or 'Subdivision administrative' end, value = 'subdivision'},
				{type = 'mixed', label = function(localdata, item) return localdata['intitulé subdivision2'] or 'Subdivision administrative' end, value = 'subdivision2'},
				{type = 'mixed', label = function(localdata, item) return localdata['intitulé commune'] or 'Commune' end, value = 'commune'},
				building.address()
				}
			},
			{type = 'table', title = 'Accès et transport', rows = {
				{type = 'mixed', label = 'Stationnement', value = 'stationnement'},
				{type = 'mixed', label = 'Gare', value = 'gare'},
				{type = 'mixed', label = 'Métro', value = 'métro'},
				{type = 'mixed', label = 'Tramway', value = 'bus'},
				{type = 'mixed', label = 'Autobus', value = 'gare'},
				},
			},
			{type = 'table', title = 'Localisation', rows = {
				building.coordinates(),
				}
			},
			building.geoloc(),
	}
}