Modul:Robotskapat modultest
Utseende
Dokumentationen för denna modul kan skapas på Modul:Robotskapat modultest/dok
local landet = {['Amerikanska Samoa'] = 'USA',
['Anguilla'] = 'Storbritannien',
['Antarktis'] = 'Antarktisfördragets område',
['Bermuda'] = 'Storbritannien',
['Bouvetön'] = 'Norge',
['Cooköarna'] = 'Nya Zeeland',
['Falklandsöarna'] = 'Storbritannien',
['filippinska kommun'] = 'Filippinerna', -- ett botprojekt som inte följer samma standard som andra geografiartiklar
['Franska Guyana'] = 'Frankrike',
['Gibraltar'] = 'Storbritannien',
['Grönland'] = 'Kungariket Danmark',
['Guam'] = 'USA',
['Guernsey'] = 'Storbritannien', -- potentiella problem här i kanalöarna, då det på WD kan finnas olika åsikter om de kan användas med P17
['Heard- och McDonaldöarna'] = 'Australien',
['Hongkong'] = 'Kina',
['Julön'] = 'Australien',
['Karibiska Nederländerna'] = 'Nederländerna',
['Kokosöarna'] = 'Australien',
['Sydgeorgien och Sydsandwichöarna'] = 'Storbritannien',
['Åland'] = 'Finland'
}
local undantag = {['Q16521'] = 'taxon',
['Q310890'] = 'monotypisk taxa',
['Q17276484'] = 'homonym',
['Q17487588'] = 'combination', --hybrid?
['Q17362920'] = 'dublett',
['Q245016'] = 'militärbas'
}
p = {}
function p.wdtest(frame)
local pframe = frame:getParent();
local args = pframe.args
if args[1] ~= 'Lsjbot' or not args[2] or args[2] == '' or args['kollad'] then
return nil
end
local entity = mw.wikibase.getEntityObject()
if not entity then
return '[[Kategori:Robotskapade artiklar utan anslutning till Wikidata]][[Kategori:Wikipedia:Alla artiklar med åtgärdsbehov relaterade till Wikidata]]'
end
local claims = entity.claims
if not claims then
return '[[Kategori:Robotskapade artiklar helt utan påståenden]][[Kategori:Wikipedia:Alla artiklar med åtgärdsbehov relaterade till Wikidata]]'
end
local s = {}
local p31 = entity:getBestStatements('P31')
if #p31 == 0 then
table.insert(s, '[[Kategori:Robotskapade artiklar utan P31]]')
else -- Plockar bort sådant vi inte ska kolla (taxa, undervattensrev odyl)
for i, statement in pairs(p31) do
if statement.mainsnak.snaktype == 'value' then
local qid = 'Q' .. statement.mainsnak.datavalue.value['numeric-id']
if undantag[qid] then
return nil
end
end
end
end
local p17 = entity:getBestStatements('P17')
if not p17 or #p17 == 0 then
table.insert(s, '[[Kategori:Robotskapade artiklar utan P17]]')
end
if #p17 > 0 then
local inom = false
for i, statement in pairs(p17) do
if statement.mainsnak.snaktype == 'value' then
local qid = 'Q' .. statement.mainsnak.datavalue.value['numeric-id']
local entity2 = mw.wikibase.getEntityObject(qid)
if entity2.labels.sv then
local land = entity2.labels.sv.value
if land == args[2] or land == landet[args[2]] then
inom = true
end
else
table.insert(s, '[[Kategori:Robotskapade artiklar med P17-uttalanden som saknar svensk label]]')
end
end
end
if not inom then
table.insert(s, '[[Kategori:Robotskapade artiklar med olika värden på land här på Wikipedia och på P17]]')
end
end
if #s > 0 then
table.insert(s, '[[Kategori:Wikipedia:Alla artiklar med åtgärdsbehov relaterade till Wikidata]]')
end
return table.concat(s)
end
function p.dubblett(frame)
if mw.title.getCurrentTitle().namespace ~= 0 then
return nil -- om inte huvudnamnrymden -> returnera nil
end
local entity = mw.wikibase.getEntityObject()
if not entity then
return '[[Kategori:Robotskapade artiklar utan anslutning till Wikidata]][[Kategori:Wikipedia:Alla artiklar med åtgärdsbehov relaterade till Wikidata]]'
end
local claims = entity.claims
if not claims then
return '[[Kategori:Robotskapade artiklar helt utan påståenden]][[Kategori:Wikipedia:Alla artiklar med åtgärdsbehov relaterade till Wikidata]]'
end
local s = {}
local p31 = entity:getBestStatements('P31')
local p279 = entity:getBestStatements('P279')
if #p31 + #p279 == 0 then
return '[[Kategori:Wikipedia:Artiklar som saknar grundläggande Wikidata-egenskap P31/P279]][[Kategori:Wikipedia:Alla artiklar med åtgärdsbehov relaterade till Wikidata]]'
end
if #p31 > 0 then
for i, statement in pairs(p31) do
if statement.mainsnak.snaktype == 'value' then
local qid = 'Q' .. statement.mainsnak.datavalue.value['numeric-id']
if qid == 'Q17362920' then
return '[[Kategori:Wikipedia:Artiklar som Wikidata märkt upp som dubbletter]][[Kategori:Wikipedia:Alla artiklar med åtgärdsbehov relaterade till Wikidata]]'
end
end
end
end
return nil
end
return p