Module:Taxonbar/blacklist

local p = {}

--Returns a blacklist of unacceptable wikidata instance-of's, --either as a table for use inside a module such as Module:Taxonbar, --or as an ordered list for use in documentation. function p.blacklist( frame ) local documentation = frame.args[1] local unacceptableInstanceOf_All = { --table order == display order 'Q913170',		--trivial name 'Q55983715',	--group of organisms known by one particular common name 'Q937228',		--property 'Q14712',		--drupe 'Q163233',		--compound drupe 'Q747463',		--compound fruit }	if (documentation == nil) or --module only (documentation and documentation == '') then local out = {} for k, v in pairs( unacceptableInstanceOf_All ) do			out[v] = k --output Q# as keys for table lookups end return out elseif (documentation == 'docdoc') then --self-documentation only local selfdocout = 'myBlacklist = {\n' for k, q in pairs( unacceptableInstanceOf_All ) do			selfdocout = selfdocout..'\t\''..q..'\' = '..k..',\n' end selfdocout = selfdocout..'}' local args = { ['lang'] = 'lua', ['code'] = selfdocout } out = frame:expandTemplate{ title = 'Syntaxhighlight', args = args } return out else --normal documentation only local out = '' for _, q in pairs( unacceptableInstanceOf_All ) do			local Q = frame:expandTemplate{ title = 'Q', args = { q } } out = out..'# '..Q..'\n' end out = mw.ustring.gsub(out, '%s+$', '') return out end end

return p