Jump to content

Module:OSM and Module:OSM/sandbox: Difference between pages

(Difference between pages)
Page 1
Page 2
Content deleted Content added
Add possibility to run query independent of wikidata Q-number
 
More simplification
 
Line 32: Line 32:
itemID = ""
itemID = ""
itemObject = nil
itemObject = nil
elseif args.id then
-- build query for specific Q-item(s)
itemID = args.id
pcall(function () itemObject = mw.wikibase.getEntityObject(mw.text.split(itemID,";")[1]) end)
else
else
itemObject = mw.wikibase.getEntityObject()
if args.id then
if itemObject == nil then
-- build query for specific Q-item(s)
return "This page doesn't have a wikidata entry"
itemID = args.id
pcall(function () itemObject = mw.wikibase.getEntityObject(mw.text.split(itemID,";")[1]) end)
else
itemObject = mw.wikibase.getEntityObject()
if itemObject == nil then
return "This page doesn't have a wikidata entry"
end
-- build query for current page
itemID = itemObject.id
end
end
-- build query for current page
itemID = itemObject.id
end
end
-- Always perform a regular expression based search
-- Always perform a regular expression based search
-- The data may contain multiple values
-- The data may contain multiple values
if frame.args.overpass == nil then
if frame.args.overpass == nil then
itemID = '"~"(^|;)(' .. itemID:gsub(";", "\|") .. ')(;|$)'
itemID = '"~"(^|;)(' .. itemID:gsub(";", "%|") .. ')(;|$)'
leftbracket = '["'
leftbracket = '["'
rightbracket = '"]'
rightbracket = '"]'
Line 66: Line 64:
query = ''
query = ''
end
end
if args.coord and not(args.limitToBBOX=='no') then
if args.coord and (args.limitToBBOX ~= 'no') then
-- The user can provide coordinates and a zoom factor
-- The user can provide coordinates and a zoom factor
coord = '&C=' .. args.coord
coord = '&C=' .. args.coord