User:Polbot/source/Use Polbot 2.pl

use strict;

use Q::Polbot;

use Perlwikipedia;

my $soonest_next_op = time;

my $pw=Perlwikipedia->new();

  1. $pw->{debug} = 1;

$pw->{mech}->agent('Bot/WP/EN/Quadell/polbot');

print "\nStarting polbot, logging in.\n" ;

my $login_status=$pw->login('bot name','bot password');

die "I can't log in." unless ($login_status == 0);

  1. Get articles that use the wrong template

my @bios = $pw->what_transcludes_here("Template:Bioguide");

print "There are " . scalar(@bios) . " articles using {{bioguide}}.\n\n";

my $i = 0;

foreach my $article_name (sort @bios) {

my $URL = Polbot::Get_URL_from_name($article_name);

#print $URL;

if ($URL =~ m/^http.*=(.......)$/) {

my $code = $1;

my $wiki = $pw->get_text($article_name);

$wiki =~ s/(\*\s*)?\{\{bioguide\}\}/{{CongBio|$code}}/i;

$wiki = Polbot::fix_dates($wiki);

$wiki = Polbot::replace_unlinked_tokens($wiki);

$|=1;

print "Waiting " . ($soonest_next_op - time) . " secs... ";

$|=1;

while (time < $soonest_next_op) {};

$soonest_next_op = time + 13;

print "Fixing $article_name\n";

$pw->edit($article_name, $wiki, "Replacing {{bioguide}} with {{CongBio|$code}}, plus misc fixes");

} else {

print "Skipping $article_name\n";

}

}