User:AnomieBOT/source/tasks/IMONumberRedirectCreator.pm: Difference between revisions

Content deleted Content added
AnomieBOT (talk | contribs)
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>.
AnomieBOT (talk | contribs)
Updating published sources: IMONumberRedirectCreator: * Category was apparently renamed, and no one told me or pointed out that the bot wasn't creating redirects anymore.
Line 13:
Created: 2015-04-02
 
Create redirects for [[IMO numbers]], based on categorization in [[:Category:IMO Numbernumbers]].
 
=end metadata
Line 66:
$iter = $api->iterator(
list => 'categorymembers',
cmtitle => 'Category:IMO Numbernumbers',
cmprop => 'title|sortkeyprefix',
cmlimit => '100',
Line 117:
redirects => 1,
prop => 'categories',
clcategories => 'Category:IMO Numbernumbers',
clprop => 'sortkey',
cllimit => 'max',
Line 131:
# Target page doesn't exist, so we can safely overwrite it
$api->log("Overwriting $title => $target2: target doesn't exist");
} elsif(!(($c)=grep { $_->{'title'} eq 'Category:IMO Numbernumbers' } @{$p->{'categories'} // []})) {
# Target page doesn't have the IMO Number template, so we can safely overwrite it
$api->log("Overwriting $title => $target2: target doesn't have [[Category:IMO Numbernumbers]]");
} elsif($c->{'sortkeyprefix'} ne $number) {
# Target page doesn't have the IMO Number template, so we can safely overwrite it
$api->log("Overwriting $title => $target2: target has [[Category:IMO Numbernumbers]] pointing to IMO " . $c->{'sortkeyprefix'});
} elsif(exists($res->{'query'}{'redirects'})) {
# Target page is a redirect. Overwrite if it's a double redir to our target.