Documentation for this module may be created at Module:Street names/doc
local PROP_NAME = 'P2561'
local PROP_NAMED_AFTER = 'P138'
local p = {}
p.main = function ( frame )
local fields = '_pageName, image, wikidata'
local args = {
orderBy = '_pageName ASC',
limit = 1000
}
local results = mw.ext.cargo.query( 'streets', fields, args )
local street_names = {}
for _,res in pairs( results ) do
street_names[ res._pageName ] = ''
if res.wikidata then
local item = mw.ext.UnlinkedWikibase.getEntity( res.wikidata )
if item.claims ~= nil and item.claims[ PROP_NAMED_AFTER ] ~= nil then
for _,namedAfterClaim in pairs( item.claims[ PROP_NAMED_AFTER ] ) do
local named_after_qid = namedAfterClaim.mainsnak.datavalue.value.id
street_names[ res._pageName ] = named_after_qid
end
end
end
end
local out = '<ol>'
for street,named_after_qid in pairs( street_names ) do
out = out .. '<li>[[' .. street .. ']]:'
if named_after_qid ~= '' then
out = out .. ' ' .. frame:expandTemplate{ title = 'wdl', args = { named_after_qid } }
end
out = out .. '</li>\n'
end
out = out .. '</ol>'
return out
end
return p