Ir al contenido

Módulo:Categorización de buenos y destacaus

De Biquipedia

La documentación para este módulo puede ser creada en Módulo:Categorización de buenos y destacaus/doc

local p = { }

local badgesList = {
	Q6540291 = 'portals destacaus',
	Q6540326 = 'topico destacau',
	Q17437796 = 'articlo destacau',
	Q17437798 = 'articlo bueno',
	Q17506997 = 'anexo destacau',
	Q17507019 = 'Sabebas que',
	Q17559452 = 'articlo recomendau',
	Q17580674 = 'portal destacau',
	Q17580678 = 'articlo de calidat alta',
	Q17580679 = 'articlo de calidat media',
	Q17580680 = 'articlo de calidat baixa',
	Q17580682 = 'articlo d\'alta importancia',
}

local badgesCategory = {
	Q17437796 = 'Wikipedia:Articlos destacaus',
	Q17437798 = 'Wikipedia:Articlos buenos',
	Q17506997 = 'Wikipedia:Anexos destacaus',
}

local linkCategoryPrefix = { 
	default = '',
}

local linkCategorySuffix = { 
	default = ' en atras edicions de Wikipedia',
	afwiki = ' en a Wikipedia en afrikaans',
	alswiki = ' en a Wikipedia en alemanico',
	amwiki = ' en a Wikipedia en amharico',
	anwiki = '',
	arwiki = ' en a Wikipedia en arabe',
	arzwiki = ' en a Wikipedia en arabe echipcio',
	astwiki = ' en a Wikipedia en asturiano',
	aswiki = ' en a Wikipedia en asamés',
	azwiki = ' en a Wikipedia en azerí',
	bawiki = ' en a Wikipedia en baxkir',
	barwiki = ' en a Wikipedia en baverán',
	bat_smgwiki = ' en a Wikipedia en samochitián',
	bewiki = ' en a Wikipedia en belorruso',
	be_taraskwiki = ' en a Wikipedia en belorruso (taraškievica)',
	bgwiki = ' en a Wikipedia en bulgaro',
	bnwiki = ' en a Wikipedia en bengalí',
	bpywiki = ' en a Wikipedia en bishnupriya manipuri',
	brwiki = ' en a Wikipedia en bretón',
	bswiki = ' en a Wikipedia en bosnio',
	cawiki = ' en a Wikipedia en catalán',
	cdowiki = ' en a Wikipedia en min dong',
	cebwiki = ' en a Wikipedia en cebuano',
	cewiki = ' en a Wikipedia en checheno',
	ckbwiki = ' en a Wikipedia en kurdo soraní',
	cswiki = ' en a Wikipedia en checo',
	cvwiki = ' en a Wikipedia en chuvasio',
	cywiki = ' en a Wikipedia en galés',
	dawiki = ' en a Wikipedia en danés',
	dewiki = ' en a Wikipedia en alemán',
	diqwiki = ' en a Wikipedia en zazaki',
	dtywiki = ' en a Wikipedia en dotelí',
	dvwiki = ' en a Wikipedia en divehi',
	elwiki = ' en a Wikipedia en griego',
	eswiki = ' en a Wikipedia en castellán',
	simplewiki = ' en a Wikipedia en anglés simple',
	enwiki = ' en a Wikipedia en anglés',
	eowiki = ' en a Wikipedia en esperanto',
	etwiki = ' en a Wikipedia en estonio',
	euwiki = ' en a Wikipedia en vasco',
	extwiki = ' en a Wikipedia en estremenyo',
	fawiki = ' en a Wikipedia en persa',
	fiwiki = ' en a Wikipedia en finés',
	fowiki = ' en a Wikipedia en feroés',
	frwiki = ' en a Wikipedia en francés',
	frrwiki = ' en a Wikipedia en frisón septentrional',
	fywiki = ' en a Wikipedia en frisón',
	gawiki = ' en a Wikipedia en irlandés',
	gdwiki = ' en a Wikipedia en gaelico escocés',
	glwiki = ' en a Wikipedia en gallego',
	guwiki = ' en a Wikipedia en guyaratí',
	gvwiki = ' en a Wikipedia en manés',
	hewiki = ' en a Wikipedia en hebreu',
	hiwiki = ' en a Wikipedia en hindi',
	hrwiki = ' en a Wikipedia en crovate',
	hsbwiki = ' en a Wikipedia en alto sorabo',
	htwiki = ' en a Wikipedia en criollo haitiano',
	huwiki = ' en a Wikipedia en hongaro',
	hywiki = ' en a Wikipedia en armenio',
	iawiki = ' en a Wikipedia en interlingua',
	idwiki = ' en a Wikipedia en indonesio',
	iowiki = ' en a Wikipedia en ido',
	iswiki = ' en a Wikipedia en islandés',
	itwiki = ' en a Wikipedia en italián',
	jawiki = ' en a Wikipedia en chaponés',
	jvwiki = ' en a Wikipedia en chavanés',
	kawiki = ' en a Wikipedia en cheorchiano',
	klwiki = ' en a Wikipedia en groenlandés',
	kkwiki = ' en a Wikipedia en cazaco',
	kmwiki = ' en a Wikipedia en cambochán',
	knwiki = ' en a Wikipedia en canarés',
	kowiki = ' en a Wikipedia en corián',
	krcwiki = ' en a Wikipedia en karachayo-balkaro',
	kuwiki = ' en a Wikipedia en kurdo',
	kvwiki = ' en a Wikipedia en komi',
	lawiki = ' en a Wikipedia en latín',
	lbwiki = ' en a Wikipedia en luxemburgués',
	lezwiki = ' en a Wikipedia en lezgiano',
	lfnwiki = ' en a Wikipedia en lingua franca nova',
	liwiki = ' en a Wikipedia en limburgués',
	lmowiki = ' en a Wikipedia en lombardo',
	lowiki = ' en a Wikipedia en laosiano',
	ltwiki = ' en a Wikipedia en lituano',
	lvwiki = ' en a Wikipedia en letón',
	maiwiki = ' en a Wikipedia en maithilí',
	map_bmswiki = ' en a Wikipedia en banyumasan',
	mgwiki = ' en a Wikipedia en malgache',
	minwiki = ' en a Wikipedia en minangkabau',
	mkwiki = ' en a Wikipedia en macedonio',
	mlwiki = ' en a Wikipedia en malayalam',
	mnwiki = ' en a Wikipedia en mongol',
	mrwiki = ' en a Wikipedia en maratí',
	mswiki = ' en a Wikipedia en malayo',
	mtwiki = ' en a Wikipedia en maltés',
	mwlwiki = ' en a Wikipedia en mirandés',
	mywiki = ' en a Wikipedia en birmano',
	mznwiki = ' en a Wikipedia en mazandaraní',
	nahwiki = ' en a Wikipedia en nahuatl',
	napwiki = ' en a Wikipedia en napolitano',
	nds_nlwiki = ' en a Wikipedia en baixo saxón neerlandés',
	newiki = ' en a Wikipedia en nepalí',
	nlwiki = ' en a Wikipedia en neerlandés',
	nnwiki = ' en a Wikipedia en noruego (nynorsk)',
	nowiki = ' en a Wikipedia en noruego (bokmål)',
	nvwiki = ' en a Wikipedia en navaho',
	ocwiki = ' en a Wikipedia en occitán',
	olowiki = ' en a Wikipedia en livvi-carelio',
	omwiki = ' en a Wikipedia en oromo',
	orwiki = ' en a Wikipedia en oriya',
	oswiki = ' en a Wikipedia en osetio',
	pamwiki = ' en a Wikipedia en pamgano',
	piwiki = ' en a Wikipedia en pali',
	plwiki = ' en a Wikipedia en polaco',
	ptwiki = ' en a Wikipedia en portugués',
	quwiki = ' en a Wikipedia en quechua',
	rowiki = ' en a Wikipedia en rumán',
	ruwiki = ' en a Wikipedia en ruso',
	sawiki = ' en a Wikipedia en sanscrito',
	scnwiki = ' en a Wikipedia en siciliano',
	scowiki = ' en a Wikipedia en escocés',
	sdwiki = ' en a Wikipedia en sindí',
	shwiki = ' en a Wikipedia en serbo-crovate',
	sewiki = ' en a Wikipedia en sami septentrional',
	siwiki = ' en a Wikipedia en cingalés',
	skwiki = ' en a Wikipedia en eslovaco',
	slwiki = ' en a Wikipedia en esloveno',
	sqwiki = ' en a Wikipedia en albanés',
	srwiki = ' en a Wikipedia en serbo',
	srnwiki = ' en a Wikipedia en sranan tongo',
	stqwiki = ' en a Wikipedia en frisón de Saterland',
	suwiki = ' en a Wikipedia en sondanés',
	svwiki = ' en a Wikipedia en sueco',
	swwiki = ' en a Wikipedia en swahili',
	szlwiki = ' en a Wikipedia en silesiano',
	tawiki = ' en a Wikipedia en tamil',
	tewiki = ' en a Wikipedia en telugú',
	thwiki = ' en a Wikipedia en tailandés',
	tlwiki = ' en a Wikipedia en tagalo',
	tnwiki = ' en a Wikipedia en setsuana',
	trwiki = ' en a Wikipedia en turco',
	ttwiki = ' en a Wikipedia en tartre',
	ukwiki = ' en a Wikipedia en ucrainés',
	urwiki = ' en a Wikipedia en urdú',
	uzwiki = ' en a Wikipedia en uzbeko',
	vecwiki = ' en a Wikipedia en veneto',
	vepwiki = ' en a Wikipedia en vepsio',
	viwiki = ' en a Wikipedia en vietnamita',
	vlswiki = ' en a Wikipedia en flamenco occidental',
	vowiki = ' en a Wikipedia en volapük',
	wawiki = ' en a Wikipedia en valón',
	warwiki = ' en a Wikipedia en samarenyo',
	xmfwiki = ' en a Wikipedia en megreliano',
	yiwiki = ' en a Wikipedia en yídix',
	yowiki = ' en a Wikipedia en yoruba',
	zhwiki = ' en a Wikipedia en chinés',
	zh_classicalwiki = ' en a Wikipedia en chinés clasico',
	zh_min_nanwiki = ' en a Wikipedia en chinés min nan',
	zh_yuewiki = ' en a Wikipedia en cantonés',
}

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
        
        local sitelinks = entity.sitelinks
        
        if not sitelinks then
        	return ''
        end
        for siteid, linkTable in pairs( sitelinks ) do
                if next(sitelinks[ siteid ].badges) ~= nil then
                        return '1'
                end
        end
        return ''
end

return p