Modulo:Categurizzazione vitrina

La documentazione per questo modulo può essere creata in Modulo:Categurizzazione vitrina/man

local p = { }

local badgesList = {
	Q6540291 = 'purtale \'e qualità',
	Q6540326 = 'argumente \'e qualità',
	Q17437798 = 'articule \'e qualità',
	Q17437796 = 'articule \'n vitrina',
	Q17506997 = 'lista \'e qualità',
	Q17507019 = '\o ssapive ca',
	Q17559452 = 'articule raccumannate',
	Q17580674 = 'purtale \'n vitrina',
	Q17580678 = 'articule \'e alta qualità',
	Q17580679 = 'articule \'e media qualità',
	Q17580680 = 'articule \'e vascia qualità',
	Q17580682 = 'articule \'e alta importanza',
}

local badgesCategory = {
	Q17437798 = 'articule \'e qualità',
	Q17437796 = 'articule \'n vitrina',
}

local linkCategoryPrefix = { 
	default = '',
}

local linkCategorySuffix = { 
	default = '',
	afwiki = ' \'ncopp a af.wiki',
	alswiki = ' \'ncopp a als.wiki',
	amwiki = ' \'ncopp a am.wiki',
	anwiki = ' \'ncopp a an.wiki',
	arwiki = ' \'ncopp a ar.wiki',
	arzwiki = ' \'ncopp a arz.wiki',
	astwiki = ' \'ncopp a ast.wiki',
	aswiki = ' \'ncopp a as.wiki',
	azwiki = ' \'ncopp a az.wiki',
	azbwiki = ' \'ncopp a azb.wiki',
	bawiki = ' \'ncopp a ba.wiki',
	barwiki = ' \'ncopp a bar.wiki',
	bat_smgwiki = ' \'ncopp a bat-smg.wiki',
	bewiki = ' \'ncopp a be.wiki',
	be_x_oldwiki = ' \'ncopp a be-x-old.wiki',
	bgwiki = ' \'ncopp a bg.wiki',
	bhwiki = ' \'ncopp a bh.wiki',
	biwiki = ' \'ncopp a bi.wiki',
	bnwiki = ' \'ncopp a bn.wiki',
	bowiki = ' \'ncopp a bo.wiki',
	bpywiki = ' \'ncopp a bpy.wiki',
	brwiki = ' \'ncopp a br.wiki',
	bswiki = ' \'ncopp a bs.wiki',
	bxrwiki = ' \'ncopp a bxr.wiki',
	cawiki = ' \'ncopp a ca.wiki',
	cdowiki = ' \'ncopp a cdo.wiki',
	cebwiki = ' \'ncopp a ceb.wiki',
	cewiki = ' \'ncopp a ce.wiki',
	cswiki = ' \'ncopp a cs.wiki',
	cvwiki = ' \'ncopp a cv.wiki',
	cywiki = ' \'ncopp a cy.wiki',
	dawiki = ' \'ncopp a da.wiki',
	dewiki = ' \'ncopp a de.wiki',
	diqwiki = ' \'ncopp a diq.wiki',
	dvwiki = ' \'ncopp a dv.wiki',
	elwiki = ' \'ncopp a el.wiki',
	enwiki = ' \'ncopp a en.wiki',
	eowiki = ' \'ncopp a eo.wiki',
	eswiki = ' \'ncopp a es.wiki',
	etwiki = ' \'ncopp a et.wiki',
	euwiki = ' \'ncopp a eu.wiki',
	extwiki = ' \'ncopp a ext.wiki',
	fawiki = ' \'ncopp a fa.wiki',
	ffwiki = ' \'ncopp a ff.wiki',
	fiwiki = ' \'ncopp a fi.wiki',
	fowiki = ' \'ncopp a fo.wiki',
	frwiki = ' \'ncopp a fr.wiki',
	frrwiki = ' \'ncopp a frr.wiki',
	fywiki = ' \'ncopp a fy.wiki',
	gawiki = ' \'ncopp a ga.wiki',
	gdwiki = ' \'ncopp a gd.wiki',
	glwiki = ' \'ncopp a gl.wiki',
	guwiki = ' \'ncopp a gu.wiki',
	gvwiki = ' \'ncopp a gv.wiki',
	hewiki = ' \'ncopp a he.wiki',
	hiwiki = ' \'ncopp a hi.wiki',
	hrwiki = ' \'ncopp a hr.wiki',
	hsbwiki = ' \'ncopp a hsb.wiki',
	htwiki = ' \'ncopp a ht.wiki',
	huwiki = ' \'ncopp a hu.wiki',
	hywiki = ' \'ncopp a hy.wiki',
	iawiki = ' \'ncopp a ia.wiki',
	idwiki = ' \'ncopp a id.wiki',
	iswiki = ' \'ncopp a is.wiki',
	itwiki = ' \'ncopp a it.wiki',
	jawiki = ' \'ncopp a ja.wiki',
	jvwiki = ' \'ncopp a jv.wiki',
	kawiki = ' \'ncopp a ka.wiki',
	klwiki = ' \'ncopp a kl.wiki',
	kkwiki = ' \'ncopp a kk.wiki',
	kmwiki = ' \'ncopp a km.wiki',
	knwiki = ' \'ncopp a kn.wiki',
	kowiki = ' \'ncopp a ko.wiki',
	krcwiki = ' \'ncopp a krc.wiki',
	kuwiki = ' \'ncopp a ku.wiki',
	kvwiki = ' \'ncopp a kv.wiki',
	lawiki = ' \'ncopp a la.wiki',
	lbwiki = ' \'ncopp a lb.wiki',
	lezwiki = ' \'ncopp a lez.wiki',
	liwiki = ' \'ncopp a li.wiki',
	lmowiki = ' \'ncopp a lmo.wiki',
	lowiki = ' \'ncopp a lo.wiki',
	ltwiki = ' \'ncopp a lt.wiki',
	lvwiki = ' \'ncopp a lv.wiki',
	map_bmswiki = ' \'ncopp a map-bms.wiki',
	mgwiki = ' \'ncopp a mg.wiki',
	minwiki = ' \'ncopp a min.wiki',
	mkwiki = ' \'ncopp a mk.wiki',
	mlwiki = ' \'ncopp a ml.wiki',
	mnwiki = ' \'ncopp a mn.wiki',
	mrwiki = ' \'ncopp a mr.wiki',
	mswiki = ' \'ncopp a ms.wiki',
	mtwiki = ' \'ncopp a mt.wiki',
	mwlwiki = ' \'ncopp a mwl.wiki',
	mywiki = ' \'ncopp a my.wiki',
	mznwiki = ' \'ncopp a mzn.wiki',
	nawiki = ' \'ncopp a na.wiki',
	nahwiki = ' \'ncopp a nah.wiki',
	napwiki = '',
	nds_nlwiki = ' \'ncopp a nds-nl.wiki',
	nlwiki = ' \'ncopp a nl.wiki',
	nnwiki = ' \'ncopp a nn.wiki',
	nowiki = ' \'ncopp a no.wiki',
	nvwiki = ' \'ncopp a nv.wiki',
	ocwiki = ' \'ncopp a oc.wiki',
	orwiki = ' \'ncopp a or.wiki',
	oswiki = ' \'ncopp a os.wiki',
	pamwiki = ' \'ncopp a pam.wiki',
	piwiki = ' \'ncopp a pi.wiki',
	plwiki = ' \'ncopp a pl.wiki',
	ptwiki = ' \'ncopp a pt.wiki',
	quwiki = ' \'ncopp a qu.wiki',
	rowiki = ' \'ncopp a ro.wiki',
	ruwiki = ' \'ncopp a ru.wiki',
	ruewiki = ' \'ncopp a rue.wiki',
	rwwiki = ' \'ncopp a rw.wiki',
	sawiki = ' \'ncopp a sa.wiki',
	sahwiki = ' \'ncopp a sah.wiki',
	scwiki = ' \'ncopp a sc.wiki',
	scnwiki = ' \'ncopp a scn.wiki',
	scowiki = ' \'ncopp a sco.wiki',
	sdwiki = ' \'ncopp a sd.wiki',
	sewiki = ' \'ncopp a se.wiki',
	sgwiki = ' \'ncopp a sg.wiki',
	shwiki = ' \'ncopp a sh.wiki',
	siwiki = ' \'ncopp a si.wiki',
	simplewiki = ' \'ncopp a simple.wiki',
	skwiki = ' \'ncopp a sk.wiki',
	slwiki = ' \'ncopp a sl.wiki',
	smwiki = ' \'ncopp a sm.wiki',
	snwiki = ' \'ncopp a sn.wiki',
	sowiki = ' \'ncopp a so.wiki',
	sqwiki = ' \'ncopp a sq.wiki',
	srwiki = ' \'ncopp a sr.wiki',
	srnwiki = ' \'ncopp a srn.wiki',
	sswiki = ' \'ncopp a ss.wiki',
	stqwiki = ' \'ncopp a stq.wiki',
	svwiki = ' \'ncopp a sv.wiki',
	swwiki = ' \'ncopp a sw.wiki',
	szlwiki = ' \'ncopp a szl.wiki',
	tawiki = ' \'ncopp a ta.wiki',
	tewiki = ' \'ncopp a te.wiki',
	thwiki = ' \'ncopp a th.wiki',
	tlwiki = ' \'ncopp a tl.wiki',
	tnwiki = ' \'ncopp a tn.wiki',
	trwiki = ' \'ncopp a tr.wiki',
	ttwiki = ' \'ncopp a tt.wiki',
	ukwiki = ' \'ncopp a uk.wiki',
	urwiki = ' \'ncopp a ur.wiki',
	uzwiki = ' \'ncopp a uz.wiki',
	vecwiki = ' \'ncopp a vec.wiki',
	vepwiki = ' \'ncopp a vep.wiki',
	viwiki = ' \'ncopp a vi.wiki',
	vlswiki = ' \'ncopp a vls.wiki',
	vowiki = ' \'ncopp a vo.wiki',
	wawiki = ' \'ncopp a wa.wiki',
	warwiki = ' \'ncopp a war.wiki',
	yiwiki = ' \'ncopp a yi.wiki',
	yowiki = ' \'ncopp a yo.wiki',
	zhwiki = ' \'ncopp a zh.wiki',
	zh_classicalwiki = ' \'ncopp a zh-classical.wiki',
	zh_min_nanwiki = ' \'ncopp a zh-min-nan.wiki',
	zh_yuewiki = ' \'ncopp a zh-yue.wiki',
}

function p.badgesCategories( frame )
	local entity = mw.wikibase.getEntityObject()
	local wikitext = {}
	local categoryNs = mw.site.namespaces[14].name
        if not entity then
                return ''
        end
	
	for siteid, linkTable in pairs( entity.sitelinks ) do
		for i, badgeId in ipairs( entity.sitelinks[ siteid ].badges ) do
			if badgesCategory[ badgeId ] and string.sub(siteid, -4) == 'wiki' then
				local prefix = linkCategoryPrefix[ siteid ] or linkCategoryPrefix.default or ''
				local main = badgesCategory[ badgeId ] or ''
				local suffix = linkCategorySuffix[ siteid ] or linkCategorySuffix.default or ''
				local category = string.format('[[%s:%s]]', categoryNs, prefix .. main .. suffix )
				table.insert( wikitext, category )
			end
		end
	end
	return table.concat( wikitext )
end

function p.hasAnyBadge( frame )
        local entity = mw.wikibase.getEntityObject()
        if not entity then
                return ''
        end
        for siteid, linkTable in pairs( entity.sitelinks ) do
                if next(entity.sitelinks[ siteid ].badges) ~= nil then
                        return '1'
                end
        end
        return ''
end

return p