Module:Interface Wikidata
Apparence
La documentation pour ce module peut être créée à Module:Interface Wikidata/Documentation
local p = {}
local d = require 'Module:Wikidata'
local entities = require 'Module:Wikidata/Formatage entité'
local tools = require 'Module:Wikidata/Outils'
local analysis = require 'Module:Wikidata/Analyse transitive'
local util = require "Module:Utilitaire Wikidata"
-- 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,
stringTable = function(args) return d.stringTable(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,
addLinkback = function(val, entity, property) return d.addLinkback(val, entity, property) end,
addtrackingcat = function(prop, cat) return d.addtrackingcat(prop, cat) end,
-- manipulation d'une affirmation individelle
getmainid = function(claim) return tools.getMainId(claim) end,
formatStatement = function(statement, params) 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 tools.getId(snak) end,
formatSnak = function(snak, params) return d.formatSnak(snak, params) end,
-- utilisation de qids
getEntity = function(entity) return tools.getEntity(entity) end,
formatEntity = function(entity, args) if entity then return entities.formatEntity(entity, args) end end,
getLink = function(entity, linktype, lang) return entities.getLink(entity, linktype, lang) end,
getLabel = function(entity, lang) return entities.getLabel(entity, lang) end, --getLabel est moins sophistiqué que formatEntity, ce qui peut-être pratique
-- utilisation des propriétés transitives
isInstance = function(targetclass, item, maxdepth) return analysis.isInstance(targetclass, item, maxdepth) end,
isSubclass = function(class, item, maxdepth) return analysis.isSubclass(class, item, maxdepth) end,
addVals = function(origlist, query, maxdepth, maxnodes, stopval) return analysis.addVals(origlist, query, maxdepth, maxnodes, stopval) end,
transitiveVals = function(item, query, maxdepth, maxnodes, stopval) return analysis.transitiveVals(item, query, maxdepth, maxnodes, stopval) end,
inTransitiveVals = function(searchedval, sourceval, query, maxdepth, stopva ) return analysis.inTransitiveVals(searchedval, sourceval, query, maxdepth, stopva ) end,
-- gestion des dates
mainDate = function(entity) return util.maindate(entity) end,
keyDate = function(event, entity) return util.keydate(event, entity) end,
-- Fonctions diverses
citeItem = function(item, page) return d.citeitem(item, page) end,
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)
local newargs = {}
for i, j in pairs(args) do
if j ~= '' then
newargs[i] = j
end
end
return newargs
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
entity = mw.wikibase.getEntityObject()
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.mainDate(frame)
return p.fromLua.mainDate(frame.args['entity'])
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