Siirry sisältöön

Moduuli:Fr:Interface Wikidata

Wikipediasta


Käyttöohje ja tekniset tiedot moduulille Fr:Interface Wikidata

Tämä moduuli on osa ranskankielisestä Wikipediasta kopioitua Wikidata ja Interface Wikidata -moduulikokonaisuutta (ks. ohjeet ja esimerkit). Listauksen kaikista tähän liittyvistä moduuleista löydät Ranskankielisen Wikipedian Wikidata-moduulit -sivulta.

Tämä moduuli on pääasiassa mallineita varten, joiden antamat parametrit muutetaan moduulien käyttämään muotoon.

Alkuperäinen
Ohjeet
Tämän moduulin käyttämät moduulit
Moduulia käytetään mallineista
Moduulit jotka käyttävät tätä

local p = {}
local d = require 'Module:Fr:Wikidata'

-- 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 = d.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 = d.getId,
	formatSnak = d.formatSnak,
	
	-- utilisation de qids
	getEntity = d.getEntity,
	formatEntity = d.formatEntity,
	getLink = d.siteLink,
	getLabel = d.getLabel, --getLabel est plus simple que formatEntity

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

	-- gestion des dates
	mainDate = d.mainDate,
	getDate = d.getTheDate,
	keyDate = d.keyDate,

	-- Fonctions diverses
	translate = d.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 k, v in pairs(args) do
		if v ~= '' then
			--[[ possibilité de passer des booléen, convertion des valeur "true", "false" en booleen lua
			     (sinon le module lua ne prend pas en compte "excludespecial" 
			      qui est "true" par défaut et considère toute chaîne comme vraie)
			 --]]
			if v == "true" then
				newargs[k] = true
			elseif v == "false" then
				newargs[k] = false
			else
				newargs[k] = v
			end
		end
	end
	return newargs
end

function p.formatStatements( frame ) -- pour [[Modèle:Wikidata]]
	local args = {}
	local out =""
	if frame == mw.getCurrentFrame() then
		for k, v in pairs(frame:getParent().args) do
			args[k] = v
		end
		for k, v in pairs(frame.args) do
			args[k] = v
		end
	else
		args = frame
	end
	return p.fromLua.formatStatements( args )
end

function p.addLinkBack( frame )
	local args = cleanargs(frame.args)
	if args[1] and args[1]:match"%S" then
		return d.addLinkBack( '', args.entity, mw.text.trim( args[1] ) )
	end
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 d.formatEntity(entity, args)
end

function p.formatAndCat(frame)
	local args = cleanargs(frame.args)
	return d.formatAndCat(args)
end

function p.getLabel(frame)
	local args = cleanargs(frame.args)
	local item = args[1]
	local lang = args[2] or "fi" -- fiwikissä oletus suomi jos on suomeksi
	return d.getLabel(item, lang)
end


function p.mainDate(frame)
	return d.mainDate(frame.args['entity'])	
end

function p.Dump(frame)
	return d.Dump(frame.args[1])
end

-- ei taida olla missään käytössä?
function p.formatQualifiers(frame)
	local args = frame.args
	-- huomaa, fr-wikissä viittaa suoraan moduulin metodiin, jota ei näytä olevan
	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 d.translate(frame.args[1])
end

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

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

return p