Mòdul:Wikidata: diferència entre les revisions

Contingut suprimit Contingut afegit
formatting=internallink
DatavalueQuantity amb múltiples valors
Línia 87:
local itemID = args.item; if itemID == "" then itemID = nil end
local entity = mw.wikibase.getEntityObject(itemID)
local result = entity:formatPropertyValues(string.upper(args.property), {data}).value
result = mw.ustring.gsub(result, "±%d+", "")
if args.formatting ~= "unit" then
Línia 187:
end
 
local function getSnakValue(snak, args, valuenum)
if snak.snaktype == 'value' then
-- call the respective snak parser
Línia 195:
return printDatavalueCoordinate(snak.datavalue.value, args.formatting)
elseif snak.datavalue.type == "quantity" then
return printDatavalueQuantity(snak.datavalue.valuevaluenum, args)
elseif snak.datavalue.type == "time" then
return printDatavalueTime(snak.datavalue.value, args.formatting)
Línia 253:
end
function formatStatement(statement, args, valuenum)
if not statement.type or statement.type ~= 'statement' then
return formatError( 'unknown-claim-type' )
end
return formatSnak(statement.mainsnak, args, valuenum)
--TODO reference and qualifiers
end
Línia 270:
end
 
function formatSnak(snak, args, valuenum)
if snak.snaktype == 'somevalue' then
return i18n['somevalue']
Línia 276:
return i18n['novalue']
elseif snak.snaktype == 'value' then
return getSnakValue(snak, args, valuenum)
else
return formatError( 'unknown-snak-type' )
Línia 300:
function p.formatStatements(frame) -- Format statement and concat them cleanly
local args = frame.args
 
--If a value is already set, use it
if args.value and args.value ~= '' then
Línia 325:
end
else
table.insert(local formattedStatements,result = formatStatement( statement, args, ) i)
if result and result ~= '' then
table.insert(formattedStatements, result)
end
end
end