« Module:Interface Wikidata » : différence entre les versions
m plus cohérent |
m A changé le niveau de protection pour « Module:Interface Wikidata » ([Modifier=Autoriser uniquement les utilisateurs autopatrolled] (infini) [Renommer=Autoriser uniquement les administrateurs] (infini)) |
||
(49 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 = 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 | -- fonctions ne pouvant être appelées que depuis un autre module | ||
p.fromLua = { | p.fromLua = { | ||
-- | -- manipulation d'une liste d'affirmations | ||
getClaims = | 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 | -- Fonctions diverses | ||
citeItem = d.citeitem, | |||
Dump = | 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 | -- 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 | |||
Ligne 42 : | Ligne 84 : | ||
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 | ||
entity = mw.wikibase.getEntityObject() | |||
end | end | ||
return p.fromLua.formatEntity(entity, args) | return p.fromLua.formatEntity(entity, args) | ||
Ligne 51 : | Ligne 93 : | ||
function p.formatAndCat(frame) | function p.formatAndCat(frame) | ||
return p.fromLua.formatAndCat( | local args = cleanargs(frame.args) | ||
return p.fromLua.formatAndCat(args) | |||
end | end | ||
function p.citeItem(frame) | function p.citeItem(frame) | ||
local item, 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 | |||
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 | end | ||
Ligne 63 : | Ligne 119 : | ||
end | end | ||
function p. | function p.formatQualifiers(frame) | ||
local args = frame.args | local args = frame.args | ||
return p. | 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