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"; } }