Modulu:Wikidata: berrikuspenen arteko aldeak
Ezabatutako edukia Gehitutako edukia
new parameters case0-case9 for tables overriding general case |
update, minor fixes and performance improvement |
||
1. lerroa:
-- Master version: [[:ca:Module:Wikidata]]
-- compatible version:
local p = {}
131. lerroa:
end
local function printDatavalueString(data,
if parameter == 'weblink' then
return '[' .. data .. ' ' .. mw.text.split(data, '//' )[2] .. ']'
elseif mw.ustring.find((
return expandBraces(mw.ustring.gsub(
elseif parameters.case then
return case(data, parameters.case)
else
return data
263 ⟶ 265 lerroa:
labelcase = case(labelcase, parameters.case)
end
local ret1, ret2
if parameter == 'raw' then
ret2 = entityId
elseif parameter == 'label' then
ret2 = elseif parameter == 'sitelink' then
ret2 = elseif mw.ustring.find((parameter or ''), '$1', 1, true) then -- formatting = a pattern
else
if parameter == "ucfirst" then
labelcase = labelcase and mw.language.getContentLanguage():ucfirst(labelcase)
parameters.formatting = 'internallink' -- only once in a list
end▼
if sitelink then
ret2 = labelcase elseif label and parameter == 'internallink' or parameter == 'ucfirst' then
ret2 = labelcase else
ret2 = labelcase or entityId end
end
end
310 ⟶ 326 lerroa:
if not property or not entity or not entity.claims then return end
if not mw.ustring.match(property, "^P%d+$") then
--
for k, v in pairs(entity.claims) do▼
▲ end
return▼
end
return entity.claims[property]
end
329 ⟶ 341 lerroa:
return printDatatypeMath(snak.datavalue.value)
elseif snak.datavalue.type == "string" then
return printDatavalueString(snak.datavalue.value,
elseif snak.datavalue.type == "globecoordinate" then
return printDatavalueCoordinate(snak.datavalue.value, parameter)
505 ⟶ 517 lerroa:
if genderClaims then
local genderId = getValueOfClaim(genderClaims[1], nil, {["formatting"]="raw"})
if genderId == "Q6581072" or genderId == "Q1052281" or genderId == "Q43445" then -- female
genderCase = (parameters.case == "infoboxlabel") and "labelfeminine" or "feminine"
if parameters.case == "gender" or idgender then
811 ⟶ 823 lerroa:
if labelShow == nil or labelFilter[label] then
result[#result + 1] = {label, link}
labelFilter[label] = nil -- only first label found
end
if label == lastlabel then
841 ⟶ 854 lerroa:
args[k] = v
end
args.list = "
args.formatting = "internallink"
args.separator = "/·/"
local link = p._main(args) -- get internal link of property/qualifier
if items_list == nil then
▲ return
end
local link_table = mw.text.split(link_list, "/·/", true)
args.formatting = "raw"
local items_table = mw.text.split(items_list, "/·/", true)
args.property = args.parent
args.qualifier = nil
args.formatting = "label"
args.list = "false"
local link_label = p._main(args) -- get label of parent property▼
if link_label then▼
args.item = v
link = mw.ustring.gsub(link or '', "%[%[(.*)%|.+%]%]", "[[%1|" .. link_label .. "]]")▼
▲
end
end
▲ return link
return mw.text.listToText(link_table)
end
|