User:Polbot/source/Use Polbot 2.pl
use strict;
use Q::Polbot;
use Perlwikipedia;
my $soonest_next_op = time;
my $pw=Perlwikipedia->new();
- $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);
- 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";
}
}