Content deleted Content added
Updating published sources: TFATitleSubpageCreator: * Start maintaining a JSON version of the data, currently in the bot's userspace. |
Updating published sources: TFATitleSubpageCreator: * Update talk page message about a missing subpage, and add checking for the date being missing from Template:TFA title/data.json too. |
||
(5 intermediate revisions by the same user not shown) | |||
Line 1:
{{ombox|type=notice|text= Approved 2010-05-31<br />[[Wikipedia:Bots/Requests for approval/AnomieBOT II]]}}
{{ombox|type=notice|text= First supplemental BFRA, approved 2023-01-08<br />[[Wikipedia:Bots/Requests for approval/AnomieBOT II 4]]}}
<syntaxhighlight lang="perl">
package tasks::TFATitleSubpageCreator;
Line 11 ⟶ 12:
BRFA: Wikipedia:Bots/Requests for approval/AnomieBOT II
Status: Approved 2010-05-31
+BRFA: Wikipedia:Bots/Requests for approval/AnomieBOT II 4
+Status: Approved 2023-01-08
Created: 2010-05-26
Line 26 ⟶ 29:
use vars qw/@ISA/;
@ISA=qw/AnomieBOT::Task/;
my $jsontitle = 'Template:TFA title/data.json';
sub new {
Line 38 ⟶ 43:
=for info
Approved 2010-05-31<br />[[Wikipedia:Bots/Requests for approval/AnomieBOT II]]
=for info
First supplemental BFRA, approved 2023-01-08<br />[[Wikipedia:Bots/Requests for approval/AnomieBOT II 4]]
=cut
Line 51 ⟶ 59:
$api->task('TFATitleSubpageCreator', 0, 10, qw/d::Talk d::Templates/);
my ( $jsontok
my @jsonupdates = ();▼
if($jsontok->{'code'} eq 'shutoff'){▼
$api->warn("Task disabled: ".$jsontok->{'content'}."\n");▼
▲ if($jsontok->{'code'} eq 'shutoff'){
}▼
return 300;
if($jsontok->{'code'} ne 'success'){
}▼
▲ $api->warn("
return 300;
▲ }
eval { $json = JSON->new->decode( $jsontok->{'revisions'}[0]{'slots'}{'main'}{'*'} // '' ); };▼
my $json;▼
if ( $@ ) {
▲ eval { $json = JSON->new->decode( $jsontok->{'revisions'}[0]{'slots'}{'main'}{'*'} // '' ); };
▲ if ( $@ ) {
return 300;
▲ $api->warn("Failed to parse User:AnomieBOT/TFA title.json: $@\n");
}
▲ my @jsonupdates = ();
my $broken = 0;
Line 149 ⟶ 159:
}
if ( $jsontitle ) {
my $dt = Time::Piece->strptime( $date, '%B %d, %Y' )->strftime( '%Y-%m-%d' ); if ( ref( $
push @jsonupdates, "[[$title|$dt]] is [[$link]]";
}
}
}
Line 160 ⟶ 173:
my $r = $api->edit( $jsontok, $outtxt, "Updates: " . join( '; ', @jsonupdates ), 1, 1 );
if ( $r->{'code'} ne 'success' ) {
$api->warn( "Write failed on
$broken = 1;
}
Line 189 ⟶ 202:
my $title=$_->{'title'};
my $fa=$title; $fa=~s/^Template:TFA title\//Wikipedia:Today\x27s featured article\//;
$api->whine("Cannot find featured article in [[$fa]]", "Help! I can't find the
$broken = 1;
}
▲ }
my @missingdates=();
@t=gmtime();
@t=@t[3..5];
my $i = 1;
do {
$dt = strftime('%Y-%m-%d', gmtime(timegm(0,0,0,$t[0]+$i,$t[1],$t[2])));
if ( ! defined($json->{'titles'}{$dt}) ) {
my $dt2 = strftime('%B %d, %Y', gmtime(timegm(0,0,0,$t[0]+$i,$t[1],$t[2])));
push @missingdates, "[[Wikipedia:Today's featured article/$dt2|$dt]]";
}
$i--;
} while( $dt ne '2004-02-22' );
if ( @missingdates ) {
$api->whine("Missing dates in [[Template:TFA title/data.json]]", "Help! I seem to have been unable to find the FAs for some dates to enter into [[Template:TFA title/data.json]]. Please add them manually. The missing dates are: " . join( " ", @missingdates ) . ".");
}
|