Module:Taxonbar/confdoc: Difference between revisions

Content deleted Content added
basic function for wikidataInfo() with outline table
get formatterURL or alternative
Line 34:
for _, db in pairs( conf.databases ) do
local param = mw.ustring.lower(db[1])
local link = db[2]
local prop = db[3]
local id = 'id'
local url = 'url'
if type(prop) == 'number' and prop > 0 then
local item = mw.wikibase.getEntity('P'..prop) --('P5354')
local TaxonbarProperty = frame:expandTemplate{ title = 'Taxonbar/Property', args = { prop } }
if item and item ~= "" then
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
url = "no formatter URL (P1630)"
local subjectItem = item:getBestStatements('P1629')[1]
if subjectItem then
local officialWebsite = mw.wikibase.getEntity(subjectItem.mainsnak.datavalue.value.id):getBestStatements('P856')[1]
if officialWebsite then
url = url .. '<br/>website: ' .. officialWebsite.mainsnak.datavalue.value
end
else
url = url .. ' or official website (P856) of wikidata item of this property (P1629)'
-- use third-party formatter URL. e.g for Euring number (P3459)
local statements = item:getBestStatements('P3459')[1]
if statements and statements.mainsnak and statements.mainsnak.datavalue and statements.mainsnak.datavalue.value then
local thirdPartyURL = statements.mainsnak.datavalue.value
url = url ..'<br/>use third party url: ' .. thirdPartyURL
else
url = url .. ' or third party formatter url (P3459) '
end
end
 
end
end
 
wikitable = wikitable .. '\n' .. '|-'
.. '\n|' .. param
.. '\n|' .. '[[:d:Property:P' .. prop .. '|P' .. prop .. ']]'
.. '\n|' .. 'db'link
.. '\n|' .. 'id'
.. '\n|' .. 'url'
end
end