Différences entre versions de « Module:Pape »

De Gregorius 3.0
Sauter à la navigation Sauter à la recherche
Ligne 112 : Ligne 112 :
 
    bodyClass = 'gregoriusPape',
 
    bodyClass = 'gregoriusPape',
 
title =  'Pape' ,
 
title =  'Pape' ,
         top = object:checkLink(rdfs..'label',f.args.Title) ,
+
         top = objWikidata:checkString(rdfs..'label',f.args.Title) ,
 
topStyle = 'background:#FFD200;height:50px;font-size: 25px;vertical-align:middle',
 
topStyle = 'background:#FFD200;height:50px;font-size: 25px;vertical-align:middle',
bottom = object:checkString(rdfs..'seeAlso',f.args.Modification)
+
-- bottom =  
 
} )
 
} )
 
infobox:addImage( object:printImageInWiki(f.args.Picture,wPicture),"", "device_image" )
 
infobox:addImage( object:printImageInWiki(f.args.Picture,wPicture),"", "device_image" )
Ligne 125 : Ligne 125 :
 
infobox:addRow('Intronisation',  object:printDateInWiki(dateFormat,f.args.Intronisation,wDateIntronisation))
 
infobox:addRow('Intronisation',  object:printDateInWiki(dateFormat,f.args.Intronisation,wDateIntronisation))
 
infobox:addRow('Fin du pontificat', object:printDateInWiki(dateFormat,f.args.FinDuPontificat,wFinDuPontificat))
 
infobox:addRow('Fin du pontificat', object:printDateInWiki(dateFormat,f.args.FinDuPontificat,wFinDuPontificat))
infobox:addRow('Source', iriWikidataAboutThisPage)
+
infobox:addRow('Source Wikidata', iriWikidataAboutThisPage)
infobox:addRow('Source', iriBNFAboutThisPage)
+
infobox:addRow('Source BNF', iriBNFAboutThisPage)
 
infobox:addWikitext('Site BNF',  object:printValueInWiki(f.args.SiteBNF,wSiteBNF))
 
infobox:addWikitext('Site BNF',  object:printValueInWiki(f.args.SiteBNF,wSiteBNF))
 
--:addWikitext( linkedwiki.getMaintenanceCategory() .."[[Category:Pape]]")
 
--:addWikitext( linkedwiki.getMaintenanceCategory() .."[[Category:Pape]]")

Version du 22 août 2016 à 14:03

Utilisation

Cette infobox a pour fonction de pouvoir afficher et associer des données à propos des papes.

Exemple d'utilisation

{{#invoke:Pape|infobox
| Wikidata ID = Q132845
| Bnf ID =
| Titre = Adrien IV
| Image = http://commons.wikimedia.org/wiki/Special:FilePath/Pope%20Hadrian%20IV.jpg
| Nom de naissance = Nicolas Breakspear
| Date de naissance = 1100-01-01
| Naissance précision (années) = 10
| Lieu de naissance = Abbots Langley
| Date de décès = 1159-09-01
| Lieu de décès = Anagni
| Election au pontificat = 1154-12-04
| Intronisation = 1154-12-05
| Fin du pontificat = 1159-09-01
}}

Paramétres

  • Wikidata ID : QXXXXX
  • Bnf ID :
  • Titre :
  • Image :
  • Nom de naissance :
  • Date de naissance : YYYY-MM-DD
  • Naissance précision (années) : entier
  • Lieu de naissance :
  • Date de décès : YYYY-MM-DD
  • Lieu de décès : YYYY-MM-DD
  • Election au pontificat : YYYY-MM-DD
  • Intronisation : YYYY-MM-DD
  • Fin du pontificat : YYYY-MM-DD

--[[
-- Debug console

frame = mw.getCurrentFrame() -- Get a frame object
newFrame = frame:newChild{ -- Get one with args
	title = 'Adrien IV' ,
 args = { 
 iri = 'http://gregorius.fr/wiki/Adrien_IV' ,
 WikidataID = 'Q132845' ,
Title = 'Adrien IV' ,
Picture = 'https://upload.wikimedia.org/wikipedia/commons/thumb/4/4a/PopeAdrianIVCameo.jpg/189px-PopeAdrianIVCameo.jpg' ,
NomDeNaissance = 'Nicolas Breakspear' ,
Naissance = '1100-1-1' ,
['Naissance précision (années)'] = '10' ,
LieuDeNaissance = 'Abbots Langley' ,
Deces = '1159-09-1' ,
LieuDeDeces = 'Anagni' ,
ElectionAuPontificat = '1154-12-4' ,
Intronisation = '1154-12-5' ,
FinDuPontificat = '1159-9-1' 
    }
}
mw.log(p.infobox( newFrame ) )
]]


local p = {}
 
function p.infobox(f)
    local capiunto = require 'capiunto'
    local linkedwiki = require 'linkedwiki'
 
   local rdf = 'http://www.w3.org/1999/02/22-rdf-syntax-ns#'
   local rdfs = 'http://www.w3.org/2000/01/rdf-schema#'
   local ri = 'http://gregorius.fr/wiki/'
   local rp = 'http://gregorius.fr/wiki/Property:'
   local geo = 'http://www.w3.org/2003/01/geo/wgs84_pos#'
   local vcard = 'http://www.w3.org/2006/vcard/ns#'
   local xsd = 'http://www.w3.org/2001/XMLSchema#'
   local wdt = 'http://www.wikidata.org/prop/direct/'
   local wd = 'http://www.wikidata.org/entity/'
   local bnf = 'http://www.data.bnf.fr/'
   
   local dateFormat = "d M Y"
   
   local subject = f.args.iri or linkedwiki.getCurrentIRI();

local linkedwiki = require 'linkedwiki'
local subject = linkedwiki.getCurrentIRI(); -- read the iri of the current page
local object =  linkedwiki.new(subject)
object:setDebug(true)
object:removeSubject() -- delete all triples of this subject
   
   
 --  {{#time:d M Y|2004-12-06}}
 --"2004-12-06"^^xsd..'date' 
   --linkedwiki.addPropertyWithIri(PROPERTY,IRI)
   --linkedwiki.addPropertyWithLitteral(PROPERTY,VALUE,TYPE,LANG) [LANG=nil=>default lang] [LANG=''=>no lang]
   
mw.log(object:addPropertyWithIri(rdf..'type',ri..'Pape'))
mw.log(object:addPropertyString(rdfs..'label',f.args.Title))
mw.log(object:addPropertyWithIri(rp..'picture',f.args.Picture))
mw.log(object:addProperty(rp..'nom_de_naissance',f.args.NomDeNaissance))
mw.log(object:addProperty(rp..'naissance',f.args.Naissance,xsd..'date',''))
mw.log(object:addProperty(rp..'naissancePrecision',f.args['Naissance précision (années)'],xsd..'integer',''))
mw.log(object:addPropertyString(rp..'lieu_de_naissance',f.args.LieuDeNaissance))
mw.log(object:addProperty(rp..'deces',f.args.Deces,xsd..'date',''))
mw.log(object:addPropertyString(rp..'lieu_de_deces',f.args.LieuDeDeces))
mw.log(object:addProperty(rp..'election_au_pontificat',f.args.ElectionAuPontificat,xsd..'date',''))
mw.log(object:addProperty(rp..'intronisation',f.args.Intronisation,xsd..'date',''))
mw.log(object:addProperty(rp..'fin_du_pontificat',f.args.FinDuPontificat,xsd..'date',''))
--mw.log(object:addProperty(rp..'source_wikidata',f.args.SourceWikidata))
--mw.log(object:addProperty(rp..'source_bnf',f.args.SourceBnf))
--mw.log(lonkedwiki.addPropertyWithLitteral(rp..'source_iri',f.args.Iri))
--mw.log(linkedwiki.addPropertyWuthLitteral(rp..'source_gregroius',f.args.SourceGregorius))	
--mw.log(linkedwiki.addPropertyWithLitteral(rp..'site_bnf',f.args.SiteBNF))	

--compare data with wikidata


local iriWikidataAboutThisPage =""
local objWikidata = nil
local wLieuDeNaissance = ''
local wNomDeNaissance = ''
local wPicture = ''
local wTODO = ''
--local wEnd = ''


    	
if not linkedwiki.isEmpty(f.args.WikidataID) then
	iriWikidataAboutThisPage = wd .. f.args.WikidataID
	objWikidata = linkedwiki.new(iriWikidataAboutThisPage,'http://www.wikidata.org',"fr")
	
    mw.log(object:addPropertyWithIri(rp..'WikidataID',iriWikidataAboutThisPage))
	
   wLieuDeNaissance = objWikidata:printTitleInWiki(wdt..'P19')
   wPicture = objWikidata:getValue(wdt..'P18')
end

local iriBNFAboutThisPage =""
local objBnf = nil

if not linkedwiki.isEmpty(f.args.BnfID) then
	iriBNFAboutThisPage = bnf .. f.args.BnfID
	objBnf = linkedwiki.new(iriBNFAboutThisPage,'http://data.bnf.fr',"fr")
    mw.log(object:addPropertyWithIri(rp..'BnfID',iriWikidataAboutThisPageBNF))
end

local infobox = capiunto.create( {
	    bodyStyle = 'width : 50px',
	    bodyClass = 'gregoriusPape',
		title =  'Pape' ,
        top = objWikidata:checkString(rdfs..'label',f.args.Title) ,
		topStyle = 'background:#FFD200;height:50px;font-size: 25px;vertical-align:middle',		
	--	bottom = 
	} )
infobox:addImage( object:printImageInWiki(f.args.Picture,wPicture),"", "device_image" )
infobox:addRow('Nom de naissance',  object:printValueInWiki(f.args.NomDeNaissance,wNomDeNaissance))
infobox:addRow('Lieu de naissance',  object:printValueInWiki(f.args.LieuDeNaissance,wLieuDeNaissance))
infobox:addRow('Naissance',  object:printDateInWiki(dateFormat,f.args.Naissance,wDateNaissance))
infobox:addRow('Décès',  object:printDateInWiki(dateFormat,f.args.Deces,wDeces))
infobox:addRow('Lieu de décès',  object:printValueInWiki(f.args.LieuDeDeces,wLieuDeces))	
infobox:addRow('Élection au pontificat',  object:printDateInWiki(dateFormat,f.args.ElectionAuPontificat,wDatePontificat))
infobox:addRow('Intronisation',  object:printDateInWiki(dateFormat,f.args.Intronisation,wDateIntronisation))
infobox:addRow('Fin du pontificat', object:printDateInWiki(dateFormat,f.args.FinDuPontificat,wFinDuPontificat))
infobox:addRow('Source Wikidata', iriWikidataAboutThisPage)
infobox:addRow('Source BNF', iriBNFAboutThisPage)	
infobox:addWikitext('Site BNF',  object:printValueInWiki(f.args.SiteBNF,wSiteBNF))
--:addWikitext( linkedwiki.getMaintenanceCategory() .."[[Category:Pape]]")


	return infobox
	



end
 
return p