Usuário:Chicocvenancio/Encontrar votações.py

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

Código[editar | editar código-fonte]

<source lang="python">

  1. !/usr/bin/env python
  2. -*- coding: utf-8 -*-
  3. -------------------------------------------------------------------------------
  4. Name: Encontrar votações
  5. Purpose: Encontrar as votações feitas por um usuário e gerar uma tabela
  6. organizável com as datas de início da votação.
  7. Author: Chico Venancio
  8. Created: 25/02/2012
  9. Copyright: (c) Chico Venancio 2015
  10. Licence: GNU General Public License
  11. See http://www.gnu.org/licenses/gpl.txt for full text of the license
  12. -------------------------------------------------------------------------------

import pywikibot from pywikibot import pagegenerators import codecs import string import pdb site = pywikibot.getSite() def main():

   lista = {}
   usuarios =[u'Henry Bonser Lamin', u'CL Mani', u'F. Maurício', u'Sara Z. Zahdy',
       u'Shefora', u'Joey Zaza Lucchesi', u'Turca Azul', u'Bamerighobus', u'Gilmar Tenorio Cavalcante', 
       u'Pixuleco', u'Cj Mercúrio', u'Barão de Capanema', u'Mariza Andreia Brito dos Santos', u'Cabo 70',
       u'Mirelli Navarra', u'Cruzados Sulistas', u'Pero Vaz de Caminha', u'Margarida Seiko Okumoto',
       u'Bianca Rodrigues Silva', u'Felix Drury', u'Denis Arlington', u'Bruskqueler', u'Z-Boys Jay',
       u'Ederson de Paula Teles', u'TE-ene-TE', u'Yusuf Merilandas', u'Dinahmahn', u'Borrazópolis',
       u'Se7e leo pardo', u'Maragato Vermelho', u'Jasmim Amarel']
   votacoes = [u'Votações/', u'Páginas para eliminar/', u'Pedidos de administração/', u'Escolha do portal em destaque/',
   u'Revalidação/', u'Escolha do anexo em destaque', u'Pedidos de burocrata/', u'Pedidos a administradores/Discussão de bloqueio/',
   u'Tentativa de consenso/', u'Escolha do artigo em destaque/']
   for user in usuarios:
       for page in pagegenerators.UserContributionsGenerator(user, number=5500, namespaces=[4], site =site):
           for tipo in votacoes:
               if tipo in page.title():
                   lista[u''+ page.title() + u''] = page.getVersionHistory(reverseOrder=True, revCount = 1)[0][1]
       #pdb.set_trace()
       print (u'Votacoes '+ user + u'.txt').encode('utf-8')
       with codecs.open((u'VotacoesPE.txt').encode('utf-8'), 'ab', encoding='utf-8') as arquivo:
           arquivo.write(u'\nVotações do ' + user)
           arquivo.write(u'\n{|class="wikitable sortable"\n!PE!!Data de início\n')
           for PE in lista:
               arquivo.write(u'|-\n|' + PE + u'||' + str(lista[PE]) +u'\n')
           arquivo.write(u"|-\n|Seis Meses atrás||2023-11-11UTC01:06:520\n")
           arquivo.write(u'|}')
           arquivo.close()

if __name__ == '__main__':

   main()