Module:Interface Wikidata : Différence entre versions

De Lagny-sur-Marne Wiki
Aller à : navigation, rechercher
(ajout, retire les blancs des paramètres de frame vide)
Ligne 1 : Ligne 1 :
 
local p = {}
 
local p = {}
 
local d = require 'Module:Wikidata'
 
local d = require 'Module:Wikidata'
 +
local entities = require 'Module:Wikidata/Formatage entité'
  
 
-- fonctions ne pouvant être appelées que depuis un autre module
 
-- fonctions ne pouvant être appelées que depuis un autre module
Ligne 24 : Ligne 25 :
 
-- utilisation de qids
 
-- utilisation de qids
 
formatEntity = function(entity, args) return d.formatEntity(entity, args) end,
 
formatEntity = function(entity, args) return d.formatEntity(entity, args) end,
 +
getLabel = function(entity, lang) return entities.formatEntity(entity, lang) end, --getLabel est moins sophistiqué que formatEntity, ce qui peut-être pratique
 
citeItem = function(item, page) return d.citeitem(item, page) end,
 
citeItem = function(item, page) return d.citeitem(item, page) end,
  
Ligne 32 : Ligne 34 :
  
 
-- Fonctions frame pour usage depuis le Wikitexte (avec parfois des options pour gérer des données moins propres
 
-- Fonctions frame pour usage depuis le Wikitexte (avec parfois des options pour gérer des données moins propres
 +
local function cleanargs(args)
 +
for i, j in pairs(args) do
 +
if j == '' then args[i] = nil end
 +
end
 +
return args
 +
end
  
  
Ligne 48 : Ligne 56 :
  
 
function p.formatEntity(frame)
 
function p.formatEntity(frame)
local args = frame.args
+
local args = cleanargs(frame.args)
 
local entity = args.entity or args[1]
 
local entity = args.entity or args[1]
 
if (not entity) or (entity == '') then
 
if (not entity) or (entity == '') then
Ligne 57 : Ligne 65 :
  
 
function p.formatAndCat(frame)
 
function p.formatAndCat(frame)
return p.fromLua.formatAndCat(frame.args)
+
local args = cleanargs(frame.args)
 +
return p.fromLua.formatAndCat(args)
 
end
 
end
  
 
function p.citeItem(frame)
 
function p.citeItem(frame)
local item, page = frame.args[1], frame.args['page']
+
local args = cleanargs(frame.args)
 +
local item, page = args[1], args['page']
 
return p.fromLua.citeItem(item, page)
 
return p.fromLua.citeItem(item, page)
 
end
 
end

Version du 26 août 2015 à 15:54

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

local p = {}
local d = require 'Module:Wikidata'
local entities = require 'Module:Wikidata/Formatage entité'

-- fonctions ne pouvant être appelées que depuis un autre module
p.fromLua = {
	
	-- manipulation d'une liste d'affirmations
	getClaims = function(args) return d.getClaims(args) end,
	formatStatements = function(args) return d._formatStatements(args) end,
	formatQualifiers = function(args) return d.showQualifier(args) end,
	formatAndCat = function(args) return d._formatAndCat(args) end,
	formatClaimList = function(claims, params) return d.formatClaimList(claims, params) end,

	-- manipulation d'une affirmation individelle
	getmainid = function(claim) return d.getmainid(claim) end,	
	formatStatement = function(statement, param) return d.formatStatement(statement, params) end,
	statementDate = function(claim, params) return d.getFormattedDate(claim, params) end, -- récupère la date des qualificatifs
	getFormattedQualifiers = function(statement, qualifs, params) return d.getFormattedQualifiers(statement, qualifs, params) end,

	-- manipulation de snaks	
	getid = function(snak) return d.getid(snak) end,
	formatSnak = function(snak, params) return d.formatSnak(snak, params) end,
	
	-- utilisation de qids
	formatEntity = function(entity, args) return d.formatEntity(entity, args) end,
	getLabel = function(entity, lang) return entities.formatEntity(entity, lang) end, --getLabel est moins sophistiqué que formatEntity, ce qui peut-être pratique
	citeItem = function(item, page) return d.citeitem(item, page) end,

	-- Fonctions diverses
	keydate = function(args) return d.getTheDate(args) end,
	Dump = function(item) return d.Dump(item) end,
}

-- Fonctions frame pour usage depuis le Wikitexte (avec parfois des options pour gérer des données moins propres
local function cleanargs(args)
	for i, j in pairs(args) do
		if j == '' then args[i] = nil end
	end
	return args
end


function p.formatStatements( frame ) -- pour [[Modèle:Wikidata]]
	local args = {}
	if frame == mw.getCurrentFrame() then
		args = frame:getParent().args -- paramètres du modèle appelant (est-ce vraiment une bonne idée ?)
		for k, v in pairs(frame.args) do
			args[k] = v
		end
	else
		args = frame
	end
	return p.fromLua.formatStatements( args )
end

function p.formatEntity(frame)
	local args = cleanargs(frame.args)
	local entity = args.entity or args[1]
	if (not entity) or (entity == '') then
		return nil
	end
	return p.fromLua.formatEntity(entity, args)
end

function p.formatAndCat(frame)
	local args = cleanargs(frame.args)
	return p.fromLua.formatAndCat(args)
end

function p.citeItem(frame)
	local args = cleanargs(frame.args)
	local item, page = args[1], args['page']
	return p.fromLua.citeItem(item, page)
end

function p.Dump(frame)
	return p.fromLua.Dump(frame.args[1])
end

function p.formatQualifiers(frame)
	local args = frame.args
	return p.fromLua.formatQualifiers(args)
end
return p