local getArgs = require('Modulo:Arguments').getArgs
local mEditAtWikidata = require('Modulo:Modifica su Wikidata')._showMessage
local mCitazione = require('Modulo:Citazione')
local mWikidata = require('Modulo:Wikidata')
-- costanti
local PROP_NOME = 'P735'
local PROP_COGNOME = 'P734'
local PROP_ID_LVF = 'P4259'
-- La funzione ricava da Wikidata il valore di una proprietà
-- (restituisce nil se la proprietà non è impostata)
local function getPropFromWikidata(prop, item)
local claims = mWikidata._getClaims(prop, { from = item })
-- ritorna il primo valore (possiamo assumere che ve ne sia uno soltanto)
if claims ~= nil and #claims > 0 then
local claim=claims[1]
local q=mWikidata._formatStatement(claim, {formatting = 'raw'})
return mw.wikibase.getLabel(q)
end
end
local function getIdFromWikidata(prop, item)
local claims = mWikidata._getClaims(prop, { from = item })
-- ritorna il primo valore (possiamo assumere che ve ne sia uno soltanto)
if claims ~= nil and #claims > 0 then return mWikidata._formatStatement(claims[1]) end
end
local p = {}
-- La funzione ritorna il collegamento alla pagina del profilo di una pallavolista sul sito legavolleyfemminile.it
function p._main(args)
local item = args.from
-- argomenti in input
local nome = getPropFromWikidata (PROP_NOME, item)
local cognome = getPropFromWikidata (PROP_COGNOME, item)
local id_from_WD = getIdFromWikidata (PROP_ID_LVF, item)
local title = mw.title.getCurrentTitle().text
title = mw.text.split(title, ' %(')[1]
local url_part = ''
if nome ~= nil and cognome ~= nil then
url_part = string.lower(cognome) .. "-" .. string.lower(nome)
else
url_part = string.lower(title)
if nome ~= nil then
nome=string.lower(nome)
local nlen=string.len(nome)
if string.sub(url_part, 1, nlen) == nome then
url_part=string.sub(url_part, nlen + 2, -1) .. " " .. nome
end
end
end
-- icona e categoria Wikidata
local wd_icon = mEditAtWikidata({ pid = PROP_ID_LVF, qid = item }) or ''
-- generazione del link
local url_pattern = "https://www.legavolleyfemminile.it/player/%s/%s/"
url_part = string.gsub(url_part, "% ", "-")
local url = string.format(url_pattern, url_part, id_from_WD)
local site = "legavolleyfemminile.it"
local editore = "[[Lega Pallavolo Serie A femminile]]"
return mCitazione.cita_da_modulo('args', {
url = url,
titolo = title,
sito = site,
editore = editore,
lingua = 'it'
}) .. wd_icon
end
return p