Hoppa till innehållet

Modul:Robotskapat modultest

Från Wikipedia

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
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy