Modul:Propertyspårningskategori
Dokumentation [visa] [redigera] [historik] [rensa sidcachen]
Modulen är konstruerad så att den letar efter den property som är angiven i parameter 1 i mallen som anropar modulen. Om det inte finns något där, hämtar den namnet på propertyn från den sidtitel där mallen ligger.
Den propertyn hämtas av modulen och kontrollerar att den har P2875. Det objekt som länkas hämtas och modulen kontrollerar om detta objekt har en länk tillbaka till den aktuella sidan på Wikipedia.
p = {}
function p.propertysparningskategori(frame)
local title = mw.title.getCurrentTitle().text
local pid = frame:getParent().args[1]
local ma = ''
if pid and pid:match('P%d+') then
ma = pid
else
ma = title:match('P%d+')
end
if not ma or ma == '' then
local s = '{{Ambox|typ = snabbradering|text = Det här är ingen Propertyspårningskategori!}}[[Kategori:Mallar och moduler efter propertyanvändning på Wikidata - felaktig koppling]]'
return mw.getCurrentFrame():preprocess(s)
else
local entity2 = mw.wikibase.getEntityObject(ma)
if not entity2 then
local s = '{{Ambox|typ = allvarligt|text = Den här propertyn finns inte}}[[Kategori:Mallar och moduler efter propertyanvändning på Wikidata - felaktig koppling]]'
return mw.getCurrentFrame():preprocess(s)
else
if entity2.claims and entity2.claims.P2875 and #entity2.claims.P2875 > 0 then
local propertytitle = ''
if entity2.labels and entity2.labels.sv then
propertytitle = entity2.labels.sv.value
else
propertytitle = entity2.labels.en.value
end
local claim = entity2.claims.P2875[1]
if claim.mainsnak.snaktype == 'value' then
local qid = claim.mainsnak.datavalue.value.id
local entity1 = mw.wikibase.getEntityObject(qid)
if entity1.sitelinks and entity1.sitelinks.svwiki then
local link = entity1.sitelinks.svwiki
if link.title == 'Kategori:' .. title then
local s = '{{Ambox|typ = meddelande|text = Spårningskategorin är rätt kopplad till [[d:Property:' .. ma .. '|Property:' .. ma .. ' (' .. propertytitle .. ')]]}}'
return mw.getCurrentFrame():preprocess(s)
else
local s = '{{Ambox|typ = allvarligt|text = Kopplingen mellan [[d:Property:' .. ma .. '#P2875|spårningskategorin]] och Wikidata överensstämmer inte.}}[[Kategori:Mallar och moduler efter propertyanvändning på Wikidata - felaktig koppling]]'
return mw.getCurrentFrame():preprocess(s)
end
else
local s = '{{Ambox|typ = allvarligt|text = Kopplingen mellan [[d:Property:' .. ma .. '#P2875|spårningskategorin]] och Wikidata är inte korrekt}}[[Kategori:Mallar och moduler efter propertyanvändning på Wikidata - felaktig koppling]]'
return mw.getCurrentFrame():preprocess(s)
end
else
local s = '{{Ambox|typ = allvarligt|text = [[d:Property:' .. ma .. '|Property:' .. ma .. '#P2875]] har ' ..claim.mainsnak.snaktype .. '.}}[[Kategori:Mallar och moduler efter propertyanvändning på Wikidata - felaktig koppling]]'
return mw.getCurrentFrame():preprocess(s)
end
else
local s = '{{Ambox|typ = allvarligt|text = [[d:Property:' .. ma .. '|Property:' .. ma .. ']] saknar P2875.}}[[Kategori:Mallar och moduler efter propertyanvändning på Wikidata - felaktig koppling| ]]'
return mw.getCurrentFrame():preprocess(s)
end
end
end
return nil
end
return p