Module:Taxonbar/confdoc: Difference between revisions

Content deleted Content added
add examples
add examples
Line 26:
-function to show formatURL and id for taxonomic databases
]]
local counter = 10
 
function p.wikidataInfo( frame )
counter = frame.args['counter'] or 50 -- too preventmany expensive calls
local wikitable = '{| class="wikitable sortable"\n' ..
'|-\n' ..
Line 40 ⟶ 42:
local datatype = ""
local examples = ""
local examples links = ""
local formatterURL = ""
if type(prop) == 'number' and prop > 0 then
Line 48 ⟶ 52:
local statements = item:getBestStatements('P1630')[1]
if statements and statements.mainsnak and statements.mainsnak.datavalue and statements.mainsnak.datavalue.value then
local formatterURL = statements.mainsnak.datavalue.value
url = formatterURL
else
Line 71 ⟶ 75:
end
end
examples, links = p.getExamples( item, prop, formatterURL, datatype )
end
 
Line 81 ⟶ 85:
.. '\n|' .. examples
.. '\n|' .. datatype
.. '\n|' .. url .. (links or "")
end
end
Line 87 ⟶ 91:
return wikitable .. '\n|}'
end
 
function p.getExamples( itempropItem , prop, formatterURL, datatype)
counter = counter -1
local examples = ""
if counter < 0 then return "count exceeded" end
local statements = item:getBestStatements('P1855')
local examples = ""
local links = ""
local exampleStatements = propItem:getBestStatements('P1855')
--local statement = statements[1]
for _, statement in pairs( statementsexampleStatements ) do
if statement.mainsnak and statement.mainsnak.datavalue and statement.mainsnak.datavalue.value then
local examplesValue = statement.mainsnak.datavalue.value
if examplesValue and examplesValue.id then
local exampleID = examplesValue.id
examples = examples .. '\n*[[:d:' .. exampleID .. '|' .. exampleID ..']] <br/>'
local item = mw.wikibase.getEntity(exampleID)
if item and item ~= "" then
--datatype = item.datatype
local statements = item:getBestStatements('P1855P225')[1] -- taxon name
if statements and statements.mainsnak and statements.mainsnak.datavalue and statements.mainsnak.datavalue.value then
local taxon = statements.mainsnak.datavalue.value
examples = examples .. ' [[' .. taxon .. ']]'
end
local statements = item:getBestStatements('P'..prop)[1] -- the databas property
if statements and statements.mainsnak and statements.mainsnak.datavalue and statements.mainsnak.datavalue.value then
local id = statements.mainsnak.datavalue.value
local link = formatterURL:gsub('$1', id)
if (datatype == "url") then link = id end
examples = examples .. ' (' .. id .. ')'
links = links .. '\n*' .. link .. ''
end
end
else
examples = examples .. "No example"
Line 107 ⟶ 133:
end
 
return examples, links
end
return p