Usuário:Usien6/Programa/mw-faircop/pt

O mw-faircop é um programa de robô, totalmente automatizado, que corrige violações da política de uso de conteúdo restrito da Wikipédia lusófona, mais especificamente no tocante ao limite de linhas em ficheiros gráficos. No momento, está designado ao robô Usuário:Contendo a palavra bot, mediante acionamento manual.

Foi desenvolvido em Ruby pelo Usuário:Usien6, conforme solicitado em Wikipédia:Esplanada/geral/Ficheiros com mais de 500 pixels de altura (22set2017).

Funcionamento

editar

Para cada ficheiro listado em quarry:query/21358, o programa baixa o conteúdo associado, reduz a quantidade de linhas até o limite de 500 px, reduz a quantidade de colunas tal que o aspecto original seja preservado e sobe o conteúdo reamostrado, sobrescrevendo o ficheiro original.

Seu código é fechado, mas sua rotina de entrada pode ser revelada abaixo:

    def main

      if ARGV.length != 0
        return 64
      end

      @limiter = self.create_limiter
      (@memory_cache, @disk_cache, ) = self.create_caches
      @client = self.create_client
      @run = self.create_run

      @disk_cache.make

      unless @client.account.nil?
        @client.account.ask_password
      end

      @client.connect
      @client.login

      self.each_violation do |violation|

        image = self.create_image(violation.blob, violation)

        comment = Comment.new(@client.server)
        comment.take_old_image(image)

        begin
          image.bound_height!(HEIGHT)
        rescue Image::AlreadyBoundedError
          ;
        else
          comment.take_new_image(image)
          unless DRYRUN
            violation.upload(nil, 'image/png', image.blob, comment, comment, false)
          end
        end

      end

      return 0

    end

Ver também

editar