Content deleted Content added
Updating published sources: TaskRedirectChecker: * Fix wrong template link in task description |
Updating published sources: General: * Update for the addition of 'rvslots'. DatedCategoryDeleterTest: * Disable. It's clear that task won't be needed. BrokenRedirectDeleter: * Handle pages with newlines before the <code>#REDIRECT</code>. |
||
(8 intermediate revisions by 3 users not shown) | |||
Line 1:
{{ombox|type=notice|text= Per [[WP:BOT#Approval]], any bot or automated editing process that only affects only the operators' user and talk pages (or subpages thereof), and which are not otherwise disruptive, may be run without prior approval.}}
<
package tasks::TaskRedirectChecker;
Line 11:
BRFA: N/A
Status: Begun 2010-06-16
Created: 2010-06-16
Line 29 ⟶ 28:
@ISA=qw/AnomieBOT::Task/;
use Data::Dumper;
Line 66 ⟶ 64:
my $re=$api->redirect_regex();
my $base=$api->user.'/req/';
my $iter=$api->iterator(generator=>'allpages',gapprefix=>$base,gapnamespace=>2,gapfilterredir=>'redirects',prop=>'info|revisions',rvprop=>'content',rvslots=>'main');
my @whine=();
while(my $page=$iter->next){
Line 74 ⟶ 72:
}
my $txt=$page->{'revisions'}[0]{'slots'}{'main'}{'*'};
next unless $txt=~/$re\[\[([^]#]+)#([^]]+)\]\]/;
my ($title,$anchor)=($1,$2);
Line 90 ⟶ 88:
# because the encoded anchors returned in "sections" varies based on
# server settings. Note this doesn't support {{anchor}} or the like.
$res=$api->query(action=>'parse',title=>$title,text=>"__TOC__\n== XXX $anchor ==\n\n{{:$title}}",prop=>'sections');
if($res->{'code'} ne 'success'){
Line 97 ⟶ 96:
my @s=map $_->{'anchor'}, @{$res->{'parse'}{'sections'}};
my $anchorenc=shift @s; $anchorenc=~s/^XXX_//; # Pull out the dummy
▲ $anchorenc=~s/^XXX_//;
next if grep($_ eq $anchorenc, @s);
Line 112 ⟶ 110:
}
if(exists($res->{'query-continue'})){
$q{'
} else {
delete $q{'
}
Line 142 ⟶ 140:
last if defined($newtitle);
}
} while(!defined($newtitle) && exists($q{'
if(defined($newtitle)){
Line 191 ⟶ 189:
1;
</syntaxhighlight>
|