Module:Interface Wikidata : Différence entre versions
m |
(Introduction de getLabel - j'en ai besoin pour tester l'existence d'un label en français) |
||
Ligne 97 : | Ligne 97 : | ||
return p.fromLua.citeItem(item, page) | return p.fromLua.citeItem(item, page) | ||
end | end | ||
+ | |||
+ | function p.getLabel(frame) | ||
+ | local args = cleanargs(frame.args) | ||
+ | local item = args[1] | ||
+ | local lang = args[2] or "fr" | ||
+ | return p.fromLua.getLabel(item, lang) | ||
+ | end | ||
+ | |||
function p.mainDate(frame) | function p.mainDate(frame) |
Version du 30 novembre 2015 à 19:47
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é' 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.getLabel(frame) local args = cleanargs(frame.args) local item = args[1] local lang = args[2] or "fr" return p.fromLua.getLabel(item, lang) 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