Modulu:Wikidata: berrikuspenen arteko aldeak

Ezabatutako edukia Gehitutako edukia
No edit summary
fix expandBraces and test getReferences
1. lerroa:
-- Master version: [[:ca:Module:Wikidata]]
-- compatible version: 2017110220171105
 
local p = {}
122. lerroa:
for braces in mw.ustring.gmatch(text, "{{(.-)}}") do
local parts = mw.text.split(braces, "|")
local titletitle_part = parts[1]
local arg_part = ''
local parameters = {}
for i = 2, #parts do
131 ⟶ 132 lerroa:
table.insert(parameters, parts[i])
end
arg_part = arg_part .. "|" .. parts[i]
end
local braces_expanded
if mw.ustring.find(titletitle_part, ":") then
braces_expanded = mw.getCurrentFrame():callParserFunction{name=titletitle_part, args=parameters}
else
braces_expanded = mw.getCurrentFrame():expandTemplate{title=titletitle_part, args=parameters}
end
titletitle_part = mw.ustring.gsub(titletitle_part, "([%^%$%(%)%%%.%[%]%*%+%-%?])", "%%%1") -- escape magic characters
text = mw.ustring.gsub(text, "{{" .. titletitle_part .. "arg_part .-. "}}", braces_expanded)
end
261 ⟶ 263 lerroa:
timestamp = timestamp .. " + 1 day" -- formatDate yyyy-mm-00 returns the previous month
ret, _ = string.gsub(d(i18n.datetime[10]), " 0+", " ") -- supress leading zeros in year
elseif parameter and parameter ~= "table" then
ret, _ = string.gsub(d(parameter), "([ %[])0+", "%1") -- supress leading zeros in year optionally linked
else
438 ⟶ 440 lerroa:
end
 
local function getReferences(claim, parameters)
local refaliases = {
citeWeb = "Q6925554",
469 ⟶ 471 lerroa:
for snakidx = 1, #snakval do
if snakidx > 1 then refparts = refparts .. ", " end
refparts = refparts or '' .. getSnakValue(snakval[snakidx], parameters{})
end
refs[snakkey] = refparts
481 ⟶ 483 lerroa:
-- (1) if both "reference URL" and "title" are present, then use the general template for citing web references
if refs[refaliases.referenceURL] and (refs[refaliases.title] or refs[refaliases.statedIn]) and template then
local citeParams = {}
citeParams[i18n['cite']['url']] = refs[refaliases.referenceURL]
citeParams[i18n['cite']['title']] = refs[refaliases.title] or refs[refaliases.statedIn]:match("^%[%[.-|(.-)%]%]")
citeParams[i18n['cite']['website']] = refs[refaliases.statedIn]
citeParams[i18n['cite']['language']] = refs[refaliases.language]
687 ⟶ 689 lerroa:
end
if not value and showerrors then value = error end
if value and references then value = value .. getReferences(claim, parameters) end
values[#values]["col0"] = value
730 ⟶ 732 lerroa:
local claim = claims[sortindices[1]]
result, _, error = getValueOfClaim(claim, qualifierId[1], parameters)
if result and references then result = result .. getReferences(claim, parameters) end
end