Module:Infobox/Fonctions/Personne : Différence entre versions

De Lagny-sur-Marne Wiki
Aller à : navigation, rechercher
m (Zolo a déplacé la page Module:Infobox/Personne vers Module:Infobox/Fonctions/Personne sans laisser de redirection)
Ligne 1 : Ligne 1 :
-- Functions shared by several infoboxes about people
+
-- Functions utilisées par les infobox personnes
 +
local p = {}
 
local wikidata = require('Module:Wikidata')
 
local wikidata = require('Module:Wikidata')
 +
local general = require('Module:Infobox/Fonctions/Génériques')
 
local d = require('Module:Wikidata/Dates')
 
local d = require('Module:Wikidata/Dates')
  
-- ========== Helper Functions ====================================
+
-- ========== Fonctions d'aide ====================================
  
 
local function dateandplace(thedate, theplace)  
 
local function dateandplace(thedate, theplace)  
Ligne 13 : Ligne 15 :
 
end
 
end
  
--==== Queries ================================================================
+
-- ========== Fonctions images ====================================
 
+
function p.mainimage()
 
+
return  general.mainimage()
local p = {}
+
end
  
 
function p.signature(default)
 
function p.signature(default)
Ligne 30 : Ligne 32 :
 
end
 
end
  
 
+
--==== Fonctions naissance
function p.birth()
+
function p.birth() -- date de naissance en première ligne, lieu de naissance en deuxième
 
return {
 
return {
 
type = 'mixed',
 
type = 'mixed',
Ligne 44 : Ligne 46 :
 
end
 
end
  
function p.death()
+
function p.death() -- même fonctionnement que la fonction p.birth
 
return {
 
return {
 
type = 'mixed',
 
type = 'mixed',
Ligne 57 : Ligne 59 :
 
end
 
end
  
function p.nationality()
+
function p.nationality() --pour l'instant, ne retourne que la valeur donné par le paramètre nationalité, ou, à defaut, la propriété p570 de Wikidata, à retravailler pour le formatage.
 
return {
 
return {
 
type = 'mixed',
 
type = 'mixed',
Ligne 68 : Ligne 70 :
 
}
 
}
 
end
 
end
 
+
-- INfluences
function p.influencedby()
 
return {
 
type = 'mixed',
 
label = 'Influencé par',
 
value = 'influencé par',
 
-- wikidata = (faire quelquechose avec p27)
 
    }
 
end
 
 
 
 
function p.influencedby()
 
function p.influencedby()
 
return {
 
return {
Ligne 94 : Ligne 87 :
 
property = 'p738',
 
property = 'p738',
 
}
 
}
 +
end
 +
 +
--== Site web
 +
function p.website()
 +
return p.website()
 
end
 
end
  
 
return p
 
return p

Version du 22 septembre 2014 à 15:59

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

-- Functions utilisées par les infobox personnes
local p = {}
local wikidata = require('Module:Wikidata')
local general = require('Module:Infobox/Fonctions/Génériques')
local d = require('Module:Wikidata/Dates')

-- ========== Fonctions d'aide ====================================

local function dateandplace(thedate, theplace) 
	if thedate and theplace then
		return thedate .. '<br />' .. theplace
	else
		return thedate or theplace --retourne tout ce qu'il trouve
	end
end

-- ========== Fonctions images ====================================
function p.mainimage()
	return  general.mainimage()
end

function p.signature(default)
	return {
		type = 'images',
		imageparameters =  {'signature'},
		defaultimage = {default},
		captionparameter = 'légende signature',
		defaultcaption = 'signature',
		defaultcaption = function() return defaultcaption end,
		wikidata = function() return wikidata.formatStatements({property = 'p109', first = 'true', returntype = 'table'}) end, -- Wikidata uniquement pour les images, pas la légende
	}
end

--==== Fonctions naissance
function p.birth() -- date de naissance en première ligne, lieu de naissance en deuxième
	return {
		type = 'mixed',
		label = 'Naissance',
		value =
			function(localdata, item)
					local thedate = localdata['naissance'] or localdata['date de naissance'] or wikidata._formatStatements({property= 'p569', rank = 'best', conjunction= ' ou '})
					local theplace = localdata['lieu de naissance'] or wikidata._formatStatements({property= 'p19', rank = 'best', conjunction= ' ou '})
					return dateandplace(thedate, theplace)
			end
	}
end

function p.death() -- même fonctionnement que la fonction p.birth
	return {
		type = 'mixed',
		label = 'Décès',
		value =
			function(localdata, item)
					local thedate = localdata['décès'] or localdata['date de décès'] or wikidata._formatStatements({property= 'p570', rank = 'best', conjunction= ' ou '})
					local theplace = localdata['lieu de décès'] or wikidata._formatStatements({property= 'p20', rank = 'best', conjunction= ' ou '})
					return dateandplace(thedate, theplace)
			end
	}
end

function p.nationality() --pour l'instant, ne retourne que la valeur donné par le paramètre nationalité, ou, à defaut, la propriété p570 de Wikidata, à retravailler pour le formatage.
	return {
		type = 'mixed',
		label = 'Nationalité',
		value = 'nationalité',
		wikidata = dateandplace(
            	wikidata._formatStatements({property= 'p570', rank = 'best', conjunction= ' ou '}),
            	wikidata._formatStatements({property= 'p20', rank = 'best', conjunction= ' ou '})
            	),
	}
end
-- INfluences 
function p.influencedby()
	return {
		type = 'mixed',
		label = 'Influencé par',
		value = 'influencé par',
		property = 'p737',
    }
end

function p.influenced()
	return {
		type = 'mixed',
		label = 'A influencé',
		value = 'a influencé',
		property = 'p738',
}
end

--== Site web
function p.website()
	return p.website()
end

return p