Module:Interface Wikidata

De Lagny-sur-Marne Wiki
Aller à la navigation Aller à la recherche

local p = {} local d = require 'Module:Wikidata' local entities = function () return require 'Module:Wikidata/Formatage entité' end local tools = function () return require 'Module:Wikidata/Outils' end local analysis = function () return require 'Module:Wikidata/Analyse transitive' end local util = function () return require "Module:Utilitaire Wikidata" end


-- fonctions ne pouvant être appelées que depuis un autre module p.fromLua = {

-- manipulation d'une liste d'affirmations getClaims = d.getClaims, stringTable = d.stringTable, tableToText = d.tableToText, formatStatements = d.formatStatements, formatQualifiers = d.showQualifier, formatAndCat = d.formatAndCat, wikidataDate = d.wikidataDate, addLinkback = d.addLinkback, addtrackingcat = d.addtrackingcat,

-- manipulation d'une affirmation individelle getmainid = tools().getMainId, formatStatement = d.formatStatement, statementDate = d.getFormattedDate, -- récupère la date des qualificatifs getFormattedQualifiers = d.getFormattedQualifiers, getQualifiers = d.getQualifiers, getReferences = d.getReferences,

-- manipulation de snaks getid = tools().getId, formatSnak = d.formatSnak,

-- utilisation de qids getEntity = tools().getEntity, formatEntity = entities().formatEntity, getLink = tools().siteLink, getLabel = entities().getLabel, --getLabel est plus simple que formatEntity

-- utilisation des propriétés transitives isInstance = analysis().isInstance, isSubclass = analysis().isSubclass, addVals = analysis().addVals, transitiveVals = analysis().transitiveVals, inTransitiveVals = analysis().inTransitiveVals, findVal = analysis().findVal,

-- gestion des dates mainDate = util().maindate, getDate = d.getTheDate, keyDate = util().keydate,

-- Fonctions diverses citeItem = d.citeitem, translate = tools().translate, Dump = d.Dump, }

-- 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

function p.getDescription(frame) -- fonction simpliste, mais bon, les descriptions Wikidata, c'est pas non plus super utile return mw.wikibase.description(frame.args[1]) end

function p.getLink(frame) local args = frame.args local link, proj, lang = p.fromLua.getLink(args[1], args[2], args[3]) return link end

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

function p.findVal(frame) local args = frame.args return p.fromLua.findVal(args.source, args.target, args.property, args.recursion, args.instancedepth) end

function p.transitiveVals(frame) local args = frame.args return p.fromLua.transitiveVals(args.item, args, args.maxdepth, args.maxnodes, args.stopval, true) end

return p