Content deleted Content added
Updating published sources: AnomieBOT::API: * Add configuration variable (and accessor function) for the bot operator's username * Better logging when testing uploads All tasks: * Remove useless metadata field |
Updating published sources: AutoAssessor2: * Config option for adding empty class/importance * Handle auto-configuring WPBMeta * Start run for WikiProject Radio Stations |
||
Line 31:
# Request link, for edit summary.
my $req="[[User:AnomieBOT/req/WikiProject
# Increment this number every time a new run is started, so we don't have to
# mess around with deleting previous runs' database entries.
my $seq=
# If any of the 'verify' or 'params' functions need the page contents, set this
Line 49:
# canonicalize => If defined, any instance of the template will be renamed to
# this when edits are done to the page.
# addempty => If true, add empty "class=" and "importance=" to all banners.
# verify => If defined, must be a subroutine that will be called with the
# page and talkpage results. The subroutine must return a boolean value,
Line 57 ⟶ 58:
my %cfg_templates;
%cfg_templates=(
'
},▼
blp => undef,▼
verify => undef,
params =>
if($mark&1){▼
push @$params, "bio=yes" unless(grep(s/^(\s*bio\s*=(?:\s*(?=\S))?).*?(\s*)$/${1}yes$2/s, @$params));▼
push @$params, "relativity=yes" unless(grep(s/^(\s*relativity\s*=(?:\s*(?=\S))?).*?(\s*)$/${1}yes$2/s, @$params));▼
},
);
Line 120 ⟶ 72:
my $self=$class->SUPER::new();
$self->{'did_templates'}=0;
$self->{'config loaded'}=0;
bless $self, $class;
return $self;
Line 132 ⟶ 85:
sub approved {
return
}
Line 140 ⟶ 93:
$api->task('AutoAssessor2', 0, 10, qw/d::WikiProjectTagging/);
# Load configs, if necessary
if(!$self->{'config loaded'}){
while(my ($banner,$cfg)=each %cfg_templates){
next unless exists($cfg->{'meta'});
my $ae=$cfg->{'addempty'} // 0;
$cfg=$api->WPBMetaConfig($cfg->{'meta'}, %$cfg) if exists($cfg->{'meta'});
$cfg->{'addempty'}=$ae;
$cfg_templates{$banner}=$cfg;
$self->{'config loaded'}=1;
}
if(!exists($api->store->{'metaseq'}) || $api->store->{'metaseq'}<$seq){
Line 290 ⟶ 255:
# Auto-assess
if($class && defined($classre) && !grep(/^\s*class\s*=\s*$classre\s*$/s, @params)){
push @params, "class=$class" unless(grep(s/^(\s*class\s*=(?:\s*(?=\S))?).*?(\s*)$/$1$class$2/s, @params));
if(defined($cfg{'stubauto'})){
Line 301 ⟶ 266:
}
}
if($imp && defined($impre) && !grep(/^\s*$impname\s*=\s*$impre\s*$/s, @params)){
push @params, "$impname=$imp" unless(grep(s/^(\s*$impname\s*=(?:\s*(?=\S))?).*?(\s*)$/$1$imp$2/s, @params));
# If requested to add empty parameters, do so
▲ push @
▲ push @
}
Line 312 ⟶ 283:
$any=1;
my @s=();
push @s, "class=$class" if($class && defined($classre));
push @s, "$impname=$imp" if($imp && defined($impre));
push @found, "{{$name}} (".join(' ', @s).')';
}
|