Módulo:Categorização AD e AB de outras wikis

Revisão de 11h07min de 26 de abril de 2022 por Patrícia Ferreira (discussão | contribs) (Criou página com 'local p = { } local badgesList = { Q6540291 = 'portal destacado', Q17437796 = 'artigo destacado', Q17437798 = 'artigo bom', Q17506997 = 'lista destacada',...')
(dif) ← Edição anterior | Revisão atual (dif) | Versão posterior → (dif)

A documentação para este módulo pode ser criada em Módulo:Categorização AD e AB de outras wikis/doc

Erro de script: Erro em Lua: Não é possível criar o processo: proc_open(/dev/null): failed to open stream: Operation not permitted

local p = { }

local badgesList = {
    Q6540291 = 'portal destacado',
    Q17437796 = 'artigo destacado',
    Q17437798 = 'artigo bom',
    Q17506997 = 'lista destacada',
    --Q6540326 = 'tema destacado',
    Q17507019 = 'Sabias que',
    Q17559452 = 'artigo recomendado',
    Q17580674 = 'portal destacado',
    Q17580678 = 'artigo de qualidade alta',
    Q17580679 = 'artigo de qualidade media',
    Q17580680 = 'artigo de qualidade baixa',
    Q17580682 = 'artigo de alta importância',
}

local badgesCategory = {
    Q17437796 = '!Artigos destacados',
    Q17437798 = '!Artigos bons',
    Q17506997 = '!Listas destacadas',
}

local linkCategoryPrefix = {
    default = '',
}

local linkCategorySuffix = {
    default = ' em Wikipédias sem categoria específica',
    dewiki = ' na Wikipédia em alemão',
    enwiki = ' na Wikipédia em inglês',
    eowiki = ' na Wikipédia em esperanto',
    eswiki = ' na Wikipédia em espanhol',
    frwiki = ' na Wikipédia em francês',
    iawiki = ' na Wikipédia em interlíngua',
    itwiki = ' na Wikipédia em italiano',
    jawiki = ' na Wikipédia em japonês',
    lawiki = ' na Wikipédia em latim',
    ptwiki = '',
    yowiki = ' na Wikipédia em iorubá',
    zhwiki = ' na Wikipédia em chinê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
    for siteid, linkTable in pairs( entity.sitelinks ) do
        if next(entity.sitelinks[ siteid ].badges) ~= nil then
            return '1'
        end
    end
    return ''
end

return p