Content deleted Content added
No edit summary |
No edit summary |
||
Line 1:
local p = {}
local
return {
local outNormal = {}▼
outPreferred = {},
local outDeprecated = {}▼
unknownDatatypeError = function(type)
return "<strong class=\"error\">Unknown or unsupported datatype '" .. type .. "'</strong>"
end,
local i, j, itemID, label, target
Line 57 ⟶ 59:
return " " .. unit
end,
appendUnit = appendUnit or false
Line 105 ⟶ 107:
return nil
end
end,
local temp, value
if snak.snaktype == 'value' and snak.datavalue.type == 'wikibase-entityid' then
Line 118 ⟶ 120:
return value
end
end,
if snak.snaktype == 'value' then
local snakValue = getRawValue(snak)
Line 142 ⟶ 144:
return false
end
end,
setRankBoundaries = function(rank)
local rankPos
Line 179 ⟶ 181:
minRank = rankPos
end
end,
if (rank == "preferred") then
return 1
Line 191 ⟶ 193:
return 4 -- default (in its literal sense)
end
end,
if bestRank then
if foundRank > rankPos then
Line 211 ⟶ 213:
return (maxRank <= rankPos and rankPos <= minRank)
end
end,
if rankPos == 1 then
outPreferred[#outPreferred + 1] = value
Line 221 ⟶ 223:
outDeprecated[#outDeprecated + 1] = value
end
end,
local out = ""
Line 251 ⟶ 253:
return out
end,
if flag == "linked" then
linked = true
Line 266 ⟶ 268:
return false
end
end
}
end
p.property = function(frame)
local s = newState()
local entity, propertyID, claims, rankPos, value
local nextArg = mw.text.trim(frame.args[1] or "")
local nextIndex = 2
s.setRankBoundaries("best")
while s.processFlag(nextArg) do
nextArg = mw.text.trim(frame.args[nextIndex] or "")
nextIndex = nextIndex + 1
Line 291 ⟶ 296:
if claims then
for k, v in pairs(claims) do
rankPos = s.convertRank(v.rank)
if s.rankMatches(rankPos) then
value = s.getValue(v.mainsnak, withUnit)
if value then s.appendOutput(value, rankPos) end
end
end
return s.out()
else
return ""
|