« Module:Interface Wikidata » : différence entre les versions

De Lagny-sur-Marne Wiki
Aller à la navigation Aller à la recherche
0x010D (discussion | contributions)
Introduction de getLabel - j'en ai besoin pour tester l'existence d'un label en français
0x010D (discussion | contributions)
m A changé le niveau de protection pour « Module:Interface Wikidata » ([Modifier=Autoriser uniquement les utilisateurs autopatrolled] (infini) [Renommer=Autoriser uniquement les administrateurs] (infini))
 
(26 versions intermédiaires par le même utilisateur non affichées)
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é'
local entities = function () return require 'Module:Wikidata/Formatage entité' end
local tools = require 'Module:Wikidata/Outils'
local tools = function () return require 'Module:Wikidata/Outils' end
local analysis = require 'Module:Wikidata/Analyse transitive'
local analysis = function () return require 'Module:Wikidata/Analyse transitive' end
local util = require "Module:Utilitaire Wikidata"
local util = function () return require "Module:Utilitaire Wikidata" end




Ligne 11 : Ligne 11 :
-- manipulation d'une liste d'affirmations
-- manipulation d'une liste d'affirmations
getClaims = function(args) return d.getClaims(args) end,
getClaims = d.getClaims,
stringTable = function(args) return d.stringTable(args) end,
stringTable = d.stringTable,
formatStatements = function(args) return d._formatStatements(args) end,
tableToText = d.tableToText,
formatQualifiers = function(args) return d.showQualifier(args) end,
formatStatements = d.formatStatements,
formatAndCat = function(args) return d.formatAndCat(args) end,
formatQualifiers = d.showQualifier,
formatClaimList = function(claims, params) return d.formatClaimList(claims, params) end,
formatAndCat = d.formatAndCat,
addLinkback = function(val, entity, property) return d.addLinkback(val, entity, property) end,
wikidataDate = d.wikidataDate,
addtrackingcat = function(prop, cat) return d.addtrackingcat(prop, cat) end,
addLinkback = d.addLinkback,
addtrackingcat = d.addtrackingcat,
-- manipulation d'une affirmation individelle
-- manipulation d'une affirmation individelle
getmainid = function(claim) return tools.getMainId(claim) end,
getmainid = tools().getMainId,
formatStatement = function(statement, params) return d.formatStatement(statement, params) end,
formatStatement = d.formatStatement,
statementDate = function(claim, params) return d.getFormattedDate(claim, params) end, -- récupère la date des qualificatifs
statementDate = d.getFormattedDate, -- récupère la date des qualificatifs
getFormattedQualifiers = function(statement, qualifs, params) return d.getFormattedQualifiers(statement, qualifs, params) end,
getFormattedQualifiers = d.getFormattedQualifiers,
getQualifiers = d.getQualifiers,
getReferences = d.getReferences,


-- manipulation de snaks
-- manipulation de snaks
getid = function(snak) return tools.getId(snak) end,
getid = tools().getId,
formatSnak = function(snak, params) return d.formatSnak(snak, params) end,
formatSnak = d.formatSnak,
-- utilisation de qids
-- utilisation de qids
getEntity = function(entity) return tools.getEntity(entity) end,
getEntity = tools().getEntity,
formatEntity = function(entity, args) if entity then return entities.formatEntity(entity, args) end end,
formatEntity = entities().formatEntity,
getLink = function(entity, linktype, lang) return entities.getLink(entity, linktype, lang) end,
getLink = tools().siteLink,
getLabel = function(entity, lang) return entities.getLabel(entity, lang) end, --getLabel est moins sophistiqué que formatEntity, ce qui peut-être pratique
getLabel = entities().getLabel, --getLabel est plus simple que formatEntity


-- utilisation des propriétés transitives
-- utilisation des propriétés transitives
isInstance = function(targetclass, item, maxdepth) return analysis.isInstance(targetclass, item, maxdepth) end,
isInstance = analysis().isInstance,
isSubclass = function(class, item, maxdepth) return analysis.isSubclass(class, item, maxdepth) end,
isSubclass = analysis().isSubclass,
addVals = function(origlist, query, maxdepth, maxnodes, stopval) return analysis.addVals(origlist, query, maxdepth, maxnodes, stopval) end,
addVals = analysis().addVals,
transitiveVals = function(item, query, maxdepth, maxnodes, stopval) return analysis.transitiveVals(item, query, maxdepth, maxnodes, stopval) end,
transitiveVals = analysis().transitiveVals,
inTransitiveVals = function(searchedval, sourceval, query, maxdepth, stopva ) return analysis.inTransitiveVals(searchedval, sourceval, query, maxdepth, stopva ) end,
inTransitiveVals = analysis().inTransitiveVals,
findVal = analysis().findVal,


-- gestion des dates
-- gestion des dates
mainDate = function(entity) return util.maindate(entity) end,
mainDate = util().maindate,
keyDate = function(event, entity) return util.keydate(event, entity) end,
getDate = d.getTheDate,
keyDate = util().keydate,


-- Fonctions diverses
-- Fonctions diverses
citeItem = function(item, page) return d.citeitem(item, page) end,
citeItem = d.citeitem,
keydate = function(args) return d.getTheDate(args) end,
translate = tools().translate,
Dump = function(item) return d.Dump(item) end,
Dump = d.Dump,
}
}


Ligne 118 : Ligne 123 :
return p.fromLua.formatQualifiers(args)
return p.fromLua.formatQualifiers(args)
end
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
return p

Dernière version du 17 mai 2017 à 13:47

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