Wikipedia:Bots/Requests for approval/TFA Protector Bot 2


 * The following discussion is an archived debate. Please do not modify it. To request review of this BRFA, please start a new section at WT:BRFA. The result of the discussion was Symbol neutral vote.svg Request Expired.

TFA Protector Bot 2
Operator:

Time filed: 19:11, Wednesday December 4, 2013 (UTC)

Automatic, Supervised, or Manual: Automatic

Programming language(s): Python

Source code available:

Function overview: Upload images that are on or will be on the Main Page

Links to relevant discussions (where appropriate): BOTR, user:MPUploadBot and Bots/Requests for approval/MPUploadBot

Edit period(s): Continuous

Estimated number of pages affected: A lot.

Exclusion compliant (Yes/No): No

Already has a bot flag (Yes/No): Yes

Function details:


 * Gets User:TFA Protector Bot/watch.js
 * For every page listed there:
 * Fetch all the images on that page, for each image:
 * If it doesn't exist locally, upload a copy
 * Protect the image from upload protection
 * Add the image to the bot's watchlist
 * Fetch the bot's watchlist
 * For each image on the watchlist:
 * Skip if it was an image we processed earlier (aka still on the Main Page)
 * If we were the only author to that image, delete it. Continue
 * If other people edited the page, delete it and restore the revisions we didn't touch
 * This is necessary for POTDs that will have local description pages, but no image stored locally

Discussion
I realize the bot's username is no longer totally accurate, but meh. Legoktm (talk) 19:11, 4 December 2013 (UTC)
 * How is this task different from Bots/Requests for approval/MPUploadBot? Is it a different source code base? Josh Parris 23:04, 4 December 2013 (UTC)
 * Source code is different. The main feature differences is that my bot will handle files like File:Point Reyes Lighthouse (April 2012).jpg properly, where it exists locally with no file. X!'s code would have deleted the local page after it was off the main page (at least the quick skim of his code that I did...). Mine also doesn't have a hardcoded list of pages, any admin can easily add to it if needed. Mine doesn't post to IRC either, which would be nice, but I don't really have the time to implement ATM. Legoktm (talk) 23:31, 4 December 2013 (UTC)
 * As this is not your first rodeo, and this task has been undertaken before, I feel the best test of this is a trial. You may begin at your leisure. Josh Parris 23:41, 4 December 2013 (UTC)


 * Bot still have not began the trial period. Armbrust The Homunculus 07:33, 18 December 2013 (UTC)

Bot worked mainly fine in the first run. Realized halfway through that I was using the wrong protection log entry, I've fixed that now. There were also a few files like File:Meta-logo-35px.png that are used on the main page, but were never upload protected (they just had edit protection), so my bot overwrote that. I'm not sure that's a problem per se. Legoktm (talk) 09:20, 20 December 2013 (UTC)
 * That isn't a problem at all. Those files were protected before standalone upload protection existed in MediaWiki (and of course, they were cascade-protected anyway).
 * I did notice a bug, however. The bot failed to upload local copies of images for which local description pages exist (File:Taagepera mõisa peahoone2.jpg, File:Heron Bommie SVII.jpg, File:Vildmarksvägen Stekenjokk Klimpfjäll.jpg and File:Matanuska Glacier mouth.jpg). Instead, they were simply protected (which won't prevent image replacement vandalism via Commons).  Can this be corrected?  (As noted in the bot request discussion, the bot should append the Commons description to the local one and revert to the local description alone upon deleting the file's local copy.)
 * Thanks for doing this, by the way. —David Levy 16:13, 20 December 2013 (UTC)
 * BTW I just noticed, that File:Matanuska Glacier mouth.jpg was protected, even tough it isn't scheduled for the Main Page. It looks like this is a caching problem with Picture of the day/Tomorrow. Armbrust The Homunculus 03:54, 21 December 2013 (UTC)
 * Thanks for catching this. I assume that a daily purge of the page's cache would eliminate the problem.  Joe Decker's bot (Joe's Null Bot) handles exactly this type of task, so I'll inquire about adding that page (though I'm not sure that Joe is around at present).  —David Levy 04:59, 21 December 2013 (UTC)
 * could only be used for that task, if it was an adminbot, because the page is fully protected. Or am I missing something? Armbrust The Homunculus 08:58, 21 December 2013 (UTC)
 * Despite its name (which reflects the method that Joe initially intended to use), Joe's Null Bot doesn't perform null edits; it sends a purge request to the server by loading the page with "action=purge&forcelinkupdate" appended to the URL. Protection has no impact on this task, which the bot carries out at Main Page (and previously performed at the fully protected page Today's articles for improvement/Protection, which is not currently in use).  —David Levy 15:12, 21 December 2013 (UTC)
 * Okay, that's great. Thanks for the clarification. Armbrust The Homunculus 15:43, 21 December 2013 (UTC)

Thanks again! —David Levy 13:19, 23 December 2013 (UTC)
 * Run number 2 completed. I fixed the bug David pointed out with it not uploading if the page existed but no file was stored locally. Also, the bot deleted images that were no longer needed that it had uploaded/protected (this was accidentally done under my account since I misconfigured pywikibot) - [//en.wikipedia.org/w/index.php?title=Special:Log&page=File%3AHeron+Bommie+SVII.jpg example].
 * Also, Nyttend pointed out on my talk page that I need to escape certain templates like commons:Template:w, which I'm still writing the code for. I will do another run tomorrow to end the trial. Legoktm (talk) 12:17, 23 December 2013 (UTC)
 * When a local page exists, the bot should temporarily append the Commons image description (with Commons-specific templates/parameters omitted or replaced) and uploaded from Commons tag, as I did in . This is particularly important when an image's license requires attribution.
 * Should be fixed in the code now, about to start the final run. Legoktm (talk) 11:01, 24 December 2013 (UTC)

First trial complete
There's some weird stuff going on with the delete/undelete mechanism that I need to look into. Also, figure out what happened with. Looking at the file page right now, I see that it is listed as being on the Main Page...except it's not. I'm guessing the imagelink table is outdate/not being updated properly? Can we run into any bad problems if it is out of date (unprotecting an image that needs to be protected)? Legoktm (talk) 11:20, 24 December 2013 (UTC)
 * It looks like the bot only undeletes 1 revision for every image (the latest non-"TFA Protector Bot" edit) and the others remain deleted. File:Taagepera mõisa peahoone2.jpg should have at least 2 revisions and File:Heron Bommie SVII.jpg 3 revisions. Could you check/fix this? Armbrust The Homunculus 02:47, 26 December 2013 (UTC)
 * Regarding File:Arte yoruba, nigeria, testa da ife, 12-15mo secolo.JPG, it looks like it appeared on the Main Page on 24 December 2013 in the DYK slot. According to the image description page, it's still on Main Page/sandbox, but I can't see it on the page. Armbrust The Homunculus 02:52, 26 December 2013 (UTC)

It appears necessary to undertake another trial. Without prejudicing or curtailing any ongoing discussion, you may begin at your discretion. Josh Parris 09:40, 26 December 2013 (UTC)

Would it be useful to protect images more than a day in advance? Main Page queue gives seven days of forthcoming templates, so that could be added to the bot's list. This would give an extra margin for error if the bot is down for a few days, for whatever reason. BencherliteTalk 18:43, 7 January 2014 (UTC)
 * Yeah, any admin can add pages to the bot's list and it should automatically pick them up on the next run. Legoktm (talk) 06:01, 13 January 2014 (UTC)

Was approved for trial, but I can't see any relevant edits from the bot. Armbrust The Homunculus 01:29, 10 January 2014 (UTC)
 * I hadn't had the chance to run it yet. I was trying to come up with a better solution instead of deleting and selectively un-deleting, and my idea is to delete and undelete everything (deletion is necessary to get rid of the local file), and then just revert to the last edit before the bot touched it. Legoktm (talk) 06:01, 13 January 2014 (UTC)
 * Anything new about this task? I also wanted to ask, if it wouldn't easier to run this task on Commons, instead locally. What do you think? 46.107.88.236 (talk) 16:56, 24 January 2014 (UTC)
 * Per Bot requests/Archive 57, the idea is that this task runs alongside similar procedures at Commons to give protection here and at Commons. The Commons bot is not 100% reliable. BencherliteTalk 11:23, 27 January 2014 (UTC)
 * Yeah, but this bot isn't working as intended either and there is still no response from the bot-operator for the above question. 81.183.29.3 (talk) 20:46, 3 February 2014 (UTC)
 * Sorry, I haven't had time to work on the bot lately and not really sure when I will. Legoktm (talk) 01:15, 14 February 2014 (UTC)
 * I wonder whether there might be another bot operator out there with the admin bit who'd fancy taking this code over. Any idea, anyone? I have the admin bit myself but no idea which way up you hold a bot to feed it or where the "on" switch is, so I'm probably not the person for this... BencherliteTalk 11:06, 14 February 2014 (UTC)

Any updates? If we don't hear anything in a week I'm going to administratively close this as expired. Hasteur (talk) 13:18, 16 May 2014 (UTC)
 * No progress has been made since I last commented. Legoktm (talk) 04:10, 26 May 2014 (UTC)
 * To followup Hasteur's comment, expired without prejudice. - Jarry1250 [Vacation needed] 21:18, 17 June 2014 (UTC)
 * The above discussion is preserved as an archive of the debate. Please do not modify it. To request review of this BRFA, please start a new section at WT:BRFA.