Modul:Ortsfakta WD
Dokumentation [visa] [redigera] [historik] [rensa sidcachen]
Tanken med den här modulen är att den ska sortera vilka moduler som ska användas i olika sammanhang. Själva ihopbyggandet av Geoboxen görs i undermoduler som Modul:Ortsfakta Sverige WD och Modul:Ortsfakta Sverige WD Grupp. För närvarande (juli 2023) finns 12 undermoduler för:
- Afghanistan (distrikt) "Modul:Distriktfakta Afghanistan WD"
- Belgien (kommuner) "Modul:Kommunfakta Belgien WD"
- Danmark (kommuner, regioner) "Modul:Kommunfakta Danmark WD", "Modul:Regionfakta Danmark WD"
- Färöarna (kommuner) "Modul:Kommunfakta Färöarna WD"
- Grönland (kommuner) "Modul:Kommunfakta Grönland WD"
- Norge (orter, kommuner, fylken) "Modul:Fylkesfakta Norge WD", "Modul:Kommunfakta Norge WD", "Modul:Ortsfakta Norge WD"
- Sverige (orter, ortsgrupper) "Modul:Ortsfakta Sverige WD", "Modul:Ortsfakta Sverige WD Grupp"
- USA (orter) "Modul:Ortsfakta USA WD"
local wikidata = require('Modul:Wikidata2').formatStatementsFromLua
p = {}
function test(item, claim)
local f = false
for k, v in pairs(claim) do
if v.item == item then
return true
end
end
return false
end
function p.ort( frame )
if mw.title.getCurrentTitle().text == 'Ortsfakta WD' then
return nil
end
local args = frame:getParent().args
for i, j in pairs(frame.args) do
if not args[i] then
args[i] = j
end
end
local qid = args.qid
local entity = {}
if qid == '' then
entity = mw.wikibase.getEntityObject()
else
entity = mw.wikibase.getEntityObject( qid )
end
if not entity then
entity = mw.wikibase.getEntityObject( 'Q13406268' ) -- Sandlåda
end
local land = wikidata({entity = entity, property = 'P17', raw = 'true', noref = 'true'})
if land and #land > 0 then
if test('Q889', land) then -- Afghanistan
local typ = wikidata({entity = entity, property = 'P31', avoidqualifier='P582', raw = 'true', noref = 'true'})
if typ and #typ > 0 then
if test('Q496825', typ) or test('Q158683', typ) then -- Provins, Distrikt
local ortsfaktaAFG = require('Modul:Distriktfakta Afghanistan WD').ort
return ortsfaktaAFG(entity, args)
else
return '[[Kategori:Underhållskategori för Ortsfakta WD]]<span class="error">Typ (P31) stöds inte i [[d:' .. entity.id .. '#P31|' .. entity.id .. ']]. (Afghanistan)</span>'
end
else
return '[[Kategori:Underhållskategori för Ortsfakta WD]]<span class="error">Typ (P31) saknas i [[d:' .. entity.id .. '#P31|' .. entity.id .. ']]. (Afghanistan)</span>'
end
elseif test('Q34',land) then -- Sverige
local typ = wikidata({entity = entity, property = 'P31', avoidqualifier='P582', raw = 'true', noref = 'true'})
if typ and #typ > 0 then
if test('Q25964111', typ) then
local OrtsfaktaSverige = require('Modul:Ortsfakta Sverige WD Grupp').ort
return OrtsfaktaSverige(entity, args)
end
end
local OrtsfaktaSverige = require('Modul:Ortsfakta Sverige WD').ort
return OrtsfaktaSverige(entity, args)
elseif test('Q20',land) then -- Norge
local typ = wikidata({entity = entity, property = 'P31', raw = 'true', noref = 'true'})
if typ and #typ > 0 then
if test('Q755707', typ) or test('Q18663579', typ) then -- Norges kommuner eller Norges tidigare kommuner
local KommunfaktaNorge = require('Modul:Kommunfakta Norge WD').ort
return KommunfaktaNorge(entity, args)
elseif test('Q192299', typ) or test('Q83640434', typ) then -- Fylke eller tidigare fylke
local FylkesfaktaNorge = require('Modul:Fylkesfakta Norge WD').ort
return FylkesfaktaNorge(entity, args)
elseif test('Q15092344', typ) or test('Q486972', typ) or test('Q515', typ) or test('Q532', typ) or test('Q131596', typ) then -- tätort/samhälle/stad/by/gård
local FylkesfaktaNorge = require('Modul:Ortsfakta Norge WD').ort
return FylkesfaktaNorge(entity, args)
end
else
return '[[Kategori:Underhållskategori för Ortsfakta WD]]<span class="error">Giltig typ (P31) saknas i [[d:' .. entity.id .. '#P31|' .. entity.id .. ']]. (Norge)</span>'
end
elseif test('Q35', land) or test('Q4628', land) or test('Q223', land) or test('Q756617', land) then -- Danmark, Färöarna eller Grönland
local typ = wikidata({entity = entity, property = 'P31', raw = 'true', noref = 'true'})
if typ and #typ > 0 then
if test('Q62326', typ) then -- Danmarks regionr
local RegionfaktaDanmark = require('Modul:Regionfakta Danmark WD').ort
return RegionfaktaDanmark(entity, args)
elseif test('Q2177636', typ) or test('Q23036513', typ) then -- Danmarks kommuner (och fd)
local KommunfaktaDanmark = require('Modul:Kommunfakta Danmark WD').ort
return KommunfaktaDanmark(entity, args)
elseif test('Q856079', typ) or test('Q96948740', typ) then -- Färöarnas kommuner
local KommunfaktaFaroarna = require('Modul:Kommunfakta Färöarna WD').ort
return KommunfaktaFaroarna(entity, args)
elseif test('Q16511251', typ) or test ('Q57416832', typ) then -- Grönlands kommuner
local KommunfaktaGronland = require('Modul:Kommunfakta Grönland WD').ort
return KommunfaktaGronland(entity, args)
else
return '[[Kategori:Underhållskategori för Ortsfakta WD]]<span class="error">Giltig typ (P31) saknas i [[d:' .. entity.id .. '#P31|' .. entity.id .. ']]. (Danmark)</span>'
end
else
return '[[Kategori:Underhållskategori för Ortsfakta WD]]<span class="error">Typ (P31) saknas i [[d:' .. entity.id .. '#P31|' .. entity.id .. ']]. (Danmark)</span>'
end
elseif test('Q30', land) then -- USA
local typ = wikidata({entity = entity, property = 'P31', raw = 'true', noref = 'true'})
if typ and #typ > 0 then
if test('Q1093829', typ) or test('Q63440326', typ) or test('Q2154459', typ) then -- stad i USA, Oregon, New England
local ortsfaktaUSA = require('Modul:Ortsfakta USA WD').ort
return ortsfaktaUSA(entity, args)
elseif test('Q21518270', typ) then -- delstatshuvudstad
local ortsfaktaUSA = require('Modul:Ortsfakta USA WD').ort
return ortsfaktaUSA(entity, args)
elseif test('Q3957', typ) or test('Q15127012', typ) then -- town
local ortsfaktaUSA = require('Modul:Ortsfakta USA WD').ort
return ortsfaktaUSA(entity, args)
elseif test('Q15411479', typ) then -- town i Connecticut
local ortsfaktaUSA = require('Modul:Ortsfakta USA WD').ort
return ortsfaktaUSA(entity, args)
elseif test('Q106071004', typ) then -- town i NY
local ortsfaktaUSA = require('Modul:Ortsfakta USA WD').ort
return ortsfaktaUSA(entity, args)
elseif test('Q15221373', typ) then -- fourth class city in Wisconsin
local ortsfaktaUSA = require('Modul:Ortsfakta USA WD').ort
return ortsfaktaUSA(entity, args)
elseif test('Q15221370', typ) then -- third class city
local ortsfaktaUSA = require('Modul:Ortsfakta USA WD').ort
return ortsfaktaUSA(entity, args)
elseif test('Q15221310', typ) then -- second class city
local ortsfaktaUSA = require('Modul:Ortsfakta USA WD').ort
return ortsfaktaUSA(entity, args)
elseif test('Q15063611', typ) then -- city in NY
local ortsfaktaUSA = require('Modul:Ortsfakta USA WD').ort
return ortsfaktaUSA(entity, args)
elseif test('Q9035798', typ) or test('Q7830213', typ) or test('Q17351697', typ) then -- Township i Pennsylvania/New Jersey/NH
local ortsfaktaUSA = require('Modul:Ortsfakta USA WD').ort
return ortsfaktaUSA(entity, args)
elseif test('Q751708', typ) then -- Village
local ortsfaktaUSA = require('Modul:Ortsfakta USA WD').ort
return ortsfaktaUSA(entity, args)
elseif test('Q16936588', typ) then -- Village in Pennsylvania
local ortsfaktaUSA = require('Modul:Ortsfakta USA WD').ort
return ortsfaktaUSA(entity, args)
elseif test('Q408804', typ) then -- Borough of NYC
local ortsfaktaUSA = require('Modul:Ortsfakta USA WD').ort
return ortsfaktaUSA(entity, args)
elseif test('Q2974552', typ) then -- City of NJ
local ortsfaktaUSA = require('Modul:Ortsfakta USA WD').ort
return ortsfaktaUSA(entity, args)
elseif test('Q2911266', typ) then -- Bourogh of NJ
local ortsfaktaUSA = require('Modul:Ortsfakta USA WD').ort
return ortsfaktaUSA(entity, args)
elseif test('Q7829892', typ) then -- Town of NJ
local ortsfaktaUSA = require('Modul:Ortsfakta USA WD').ort
return ortsfaktaUSA(entity, args)
elseif test('Q21010817', typ) then -- City of PENN
local ortsfaktaUSA = require('Modul:Ortsfakta USA WD').ort
return ortsfaktaUSA(entity, args)
elseif test('Q777120', typ) then -- Borough of PENN
local ortsfaktaUSA = require('Modul:Ortsfakta USA WD').ort
return ortsfaktaUSA(entity, args)
elseif test('Q498162', typ) then -- CDP
local ortsfaktaUSA = require('Modul:Ortsfakta USA WD').ort
return ortsfaktaUSA(entity, args)
elseif test('Q17343829', typ) then -- kommunfritt område
local ortsfaktaUSA = require('Modul:Ortsfakta USA WD').ort
return ortsfaktaUSA(entity, args)
elseif test('Q74047', typ) then --spökstad
local ortsfaktaUSA = require('Modul:Ortsfakta USA WD').ort
return ortsfaktaUSA(entity, args)
elseif test('Q486972', typ) then -- Samhälle
local ortsfaktaUSA = require('Modul:Ortsfakta USA WD').ort
return ortsfaktaUSA(entity, args)
elseif test('Q15411644', typ) then -- Town in Virginia
local ortsfaktaUSA = require('Modul:Ortsfakta USA WD').ort
return ortsfaktaUSA(entity, args)
elseif test('Q15221242', typ) or test('Q55237813', typ) or test('Q532', typ) then -- By i Wisconsin/New York
local ortsfaktaUSA = require('Modul:Ortsfakta USA WD').ort
return ortsfaktaUSA(entity, args)
elseif test('Q15219655', typ) then -- civil town of Wisconsin
local ortsfaktaUSA = require('Modul:Ortsfakta USA WD').ort
return ortsfaktaUSA(entity, args)
elseif test('Q123705', typ) then -- neighborhood
local ortsfaktaUSA = require('Modul:Ortsfakta USA WD').ort
return ortsfaktaUSA(entity, args)
elseif test('Q42211429', typ) then -- township in Minnesota
local ortsfaktaUSA = require('Modul:Ortsfakta USA WD').ort
return ortsfaktaUSA(entity, args)
elseif test('Q7885250', typ) then -- unincorporated town in Nevada
local ortsfaktaUSA = require('Modul:Ortsfakta USA WD').ort
return ortsfaktaUSA(entity, args)
elseif test('Q263639', typ) then -- kommun i Puerto Rico
local ortsfaktaUSA = require('Modul:Ortsfakta USA WD').ort
return ortsfaktaUSA(entity, args)
elseif test('Q5398059', typ) then -- indianreservat
local ortsfaktaUSA = require('Modul:Ortsfakta USA WD').ort
return ortsfaktaUSA(entity, args)
elseif test('Q130003', typ) then -- vintersportort
local ortsfaktaUSA = require('Modul:Ortsfakta USA WD').ort
return ortsfaktaUSA(entity, args)
elseif test('Q475050', typ) then -- federalt distrikt
local ortsfaktaUSA = require('Modul:Ortsfakta USA WD').ort
return ortsfaktaUSA(entity, args)
else
local ortsfaktaUSA = require('Modul:Ortsfakta USA WD').ort
return ortsfaktaUSA(entity, args) .. '[[Kategori:Underhållskategori för Ortsfakta WD|Φ]]'
end
else
return '[[Kategori:Underhållskategori för Ortsfakta WD]]<span class="error">Typ (P31) saknas i [[d:' .. entity.id .. '#P31|' .. entity.id .. ']]. (USA)</span>'
end
elseif test('Q31', land) then -- Belgien
local typ = wikidata({entity = entity, property = 'P31', raw = 'true', noref = 'true'})
if typ and #typ > 0 then
if test('Q15273785', typ) or test('Q493522', typ) or test('Q91028', typ) or test('Q83116', typ) or test('Q83057', typ) then -- kommun, stadskommun, arrondissement, provins och region
local ortsfaktaBE = require('Modul:Kommunfakta Belgien WD').ort
return ortsfaktaBE(entity, args)
else
return '[[Kategori:Underhållskategori för Ortsfakta WD]]<span class="error">Typ (P31) stöds inte i [[d:' .. entity.id .. '#P31|' .. entity.id .. ']]. (Belgien)</span>'
end
else
return '[[Kategori:Underhållskategori för Ortsfakta WD]]<span class="error">Typ (P31) saknas i [[d:' .. entity.id .. '#P31|' .. entity.id .. ']]. (Belgien)</span>'
end
else
return '[[Kategori:Underhållskategori för Ortsfakta WD]]<span class="error">Mallen stöder inte landet (P17) i [[d:' .. entity.id .. '#P17|' .. entity.id .. ']].</span>'
end
else
return '[[Kategori:Underhållskategori för Ortsfakta WD]]<span class="error">Land (P17) saknas i [[d:' .. entity.id .. '|' .. entity.id .. ']].</span>'
end
end
return p