local p = {}

function mylinkedarticle(myqid)
	local myreturnstring = mw.wikibase.getLabel(myqid)
	return myreturnstring
end

function mycurrentpage(myqid)
	if not myqid then    -- get id of current page
    	myqid = mw.wikibase.getEntityIdForCurrentPage()
	end
	return myqid
end

function p.subdivisions(frame)
    local qmuni = frame.args[1]
    qmuni = mycurrentpage(qmuni)

    local mysubpop
    local mylabel = mw.wikibase.getLabel(qmuni)
    local myreturnstring = mylabel .. ' so:\n'
    local myentity = mw.wikibase.getEntity(qmuni)
    local myprop = mw.wikibase.resolvePropertyId('P10254')
    local i = 1
    for i in pairs( myentity.claims[myprop] ) do
      local mysnak = myentity.claims[myprop][i]  -- 1, 2, 3
      local mysubid = mysnak.mainsnak.datavalue.value.id
      mysubpop = mw.wikibase.getEntity(mysubid)
      local mysubpop2 = mysubpop.claims['P1082'][1].mainsnak.datavalue.value.amount
      myreturnstring = myreturnstring .. '* ' .. mylinkedarticle(mysubid) .. ' (' .. mysubpop2 .. ' preb.)\n'
    end
    return myreturnstring
end


function p.cadastre(frame)
    local qmuni = frame.args[1]
    qmuni = mycurrentpage(qmuni)

    local myentity = mw.wikibase.getEntity(qmuni)
    local myprop = mw.wikibase.resolvePropertyId('P10254')
    local i = 1
    local myreturnstring = ''
    local mysublabel = ''
    for i in pairs( myentity.claims[myprop] ) do
      if i > 2 then 
         myreturnstring = myreturnstring  .. ', '
      end
    myreturnstring = myreturnstring .. mysublabel
      local mysnak = myentity.claims[myprop][i]  -- 1, 2, 3
      local mysubid = mysnak.mainsnak.datavalue.value.id
      mysublabel = mylinkedarticle(mysubid)
    end
    myreturnstring = myreturnstring .. ' in ' .. mysublabel
    return myreturnstring
end

return p