Ajuda:Pywikibot/category.py

Origem: Wikipédia, a enciclopédia livre.

Este script adiciona, modifica e remove categorias das páginas.

Movendo categorias[editar | editar código-fonte]

O seguite código vai mover todos artigos de uma categoria para outra categoria:

python category.py move

após esse comando o script vai perguntar qual é a categoria antiga (Please enter the old name of the category:) e a nova categoria (Please enter the new name of the category:), e então o script irá modificar todos os artigos da categoria antiga retirando [[categoria:ANTIGA]] e adicionando [[categoria:NOVA]].

O mesmo comando acima pode ser passado de uma vez com o seguinte código:

python category.py move -from:"categoria antiga" -to:"categoria nova"

Redirecionando a categoria ao esvaziar[editar | editar código-fonte]

O script original marca a categoria esvaziada para eliminação, para que a categoria seja mantida com um {{redirecionamento de categoria}} edite o category.py fazendo a modificação abaixo:

Onde está o seguinte código

        # Delete the old category and its moved talk page
        if copied and self.deleteEmptySourceCat == True:
            if self.oldCat.isEmptyCategory():
                confirm = not self.batchMode
                self.oldCat.delete(reason, confirm, mark = True)
                if oldMovedTalk is not None:
                    oldMovedTalk.delete(reason, confirm, mark = True)
            else:
                pywikibot.output('Couldn\'t delete %s - not empty.'
                                 % self.oldCat.title())

Troque por este:

        # Coloca um redirecionamento de categoria e elimina a página de discussão depois de movida
        if copied and self.deleteEmptySourceCat == True:
            if self.oldCat.isEmptyCategory():
                confirm = not self.batchMode
                self.oldCat.put(u'{{redirecionamento de categoria|%s}}' % self.newCatTitle,
                                u'Bot: redirecionando categoria vazia')
                if oldMovedTalk is not None:
                    oldMovedTalk.delete(reason, confirm, mark = True)
            else:
                pywikibot.output('Couldn\'t delete %s - not empty.'
                                 % self.oldCat.title())