Wikipedia:Bots/Requests for approval/Snotbot 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 keep vote.svg Approved.

Snotbot 2
Operator:

Time filed: 17:53, Tuesday February 8, 2011 (UTC)

Automatic or Manually assisted: Automatic

Programming language(s): Python

Source code available: Pywikipedia script, source code can be made available on request.

Function overview: Tagging image files which are used in video game articles with WikiProject Video games.

Links to relevant discussions (where appropriate): Bot requests/Archive 40

Edit period(s): One time run

Estimated number of pages affected: Maximum of about 20,000 25,000 images.

Exclusion compliant (Y/N): No

Already has a bot flag (Y/N): Yes

Function details: User:Anomie was kind enough to create a list of all images used in articles which are in WikiProject Video Games (see 1, 2, 3, 4, 5). The bot will go through each of these files and add the WPVG template to the file's talk page if it is not already present. If no talk page exists, the bot will create one. The only problem that remains to be resolved is that Anomie's list contains all images used on the articles, including images transcluded from templates. So, I will talk to Anomie to see if it is possible to generate a list that excludes images that aren't directly linked in articles. If that is not possible, then the bot will need to go through and check that each image is directly linked before adding the WPVG template.

Discussion
Quick update on the scope of the bot: In preparing the bot, I've found that there are exactly 28,060 unique files that are directly linked from WPVG articles (and by "directly linked", I mean that the article uses or  in the wikicode, not counting images transcluded from templates, although images used in templates tagged by the WPVG banner are counted). Since approximately 3,200 of the files are already tagged with the WPVG banner, this leaves roughly 25,000 that will likely need to be tagged. The bot is programmed and ready to go, just waiting on approval now. Snotty Wong  babble 20:17, 11 February 2011 (UTC)
 * Could you post a list of some 200-300 random files from your list, so we can see how many are not actually relevant to the project? This wasn't answered by anyone in any of the discussions. — HELL KNOWZ  ▎TALK 21:06, 11 February 2011 (UTC) Trout. —  HELL KNOWZ  ▎TALK 21:06, 11 February 2011 (UTC)
 * Well, the false positives seem to be very few and rare. Let them not stand in building encyclopaedia.
 * . — HELL KNOWZ  ▎TALK 21:13, 11 February 2011 (UTC)
 * I don't think it's a terrible idea to get a random sample. Here's 300 files from the list, chosen completely at random.  Let me know if you find any irrelevant ones, I'll check some of them out as well.


 * File:Captain Commando.png
 * File:Primal Rage II.jpg
 * File:Yamaha_YM2612_pinout.svg
 * File:SNES Cartridge Comparison bottom.jpg
 * File:rocket-knight-adventure.jpg
 * File:Yuna FFX-2.png
 * File:nbajam.jpg
 * File:Track & Field.png
 * File:Paris 1313.jpg
 * File:WorldTraderLogo.gif
 * File:Glitch_Logo.png
 * File:Batman Forever The Arcade Game Cover.jpg
 * File:Egoscreen014.jpg
 * File:Battletoads cartoon title screen.jpg
 * File:Revenge boxart.jpg
 * File:Aggressors of Dark Kombat Cover.jpg
 * File:SWRcharacters.jpg
 * File:RugratsTotallyAngelica.jpg
 * File:Myself ; Yourself heroines.jpg
 * File:High School Musical 3- Senior Year DANCE.jpg
 * File:Blender Splash 2.54.jpg‎
 * File:RobotechFromTheStars.jpg
 * File:Risen.jpg
 * File:What's Cooking - screenshot.png
 * File:DigimonRacingGreymon.JPG
 * File:Randy Smith.jpg
 * File:Dungeon Keeper 2 - cover art.jpg
 * File:PSP-FieldCommander-FrontCover.jpg
 * File:EndlessSaga1.jpg
 * File:Bujingai_cover.jpg
 * File:NVIDIA GeForce 7950 GX2.png
 * File:MSCFS2.jpg
 * File:SegaClassicArcade-Cover.jpg
 * File:SMB3-gameplay.gif
 * File:Let's Play Schools Coverart.png
 * File:jleaguelive64.jpg
 * File:NavelLogo.png
 * File:Videochess.png
 * File:Sega GT 2002 Coverart.png
 * File:Gamestah logo.png
 * File:1990 Nintendo World Championships Gold.jpg‎
 * File:Inthehunt.png
 * File:Gilgamesh12.jpg
 * File:The Revenge of Shinobi (GBA) Coverart.png
 * File:Create.jpg
 * File:saga2ds.jpg
 * File:Chris.PNG
 * File:Barbie Explorer Cover.jpg
 * File:Unison Coverart.png
 * File:096Drowzee.png
 * File:Swd22cover.jpg
 * File:Morita Shogi 64, Modem and led window.JPG
 * File:Pro-yakyu-13.jpg
 * File:Final Fantasy VI Japanese box.png
 * File:Logo of the Allied Nations (CNC).jpg
 * File:MovieMusicMadness.png
 * File:Ski resort tycoon.jpg
 * File:Crash time screen.jpg
 * File:Dragon Warrior II Battle.jpg
 * File:Gangan3.jpg
 * File:NXEvideomarketplace.jpg
 * File:Crysis1.jpg
 * File:Alpha Mission Cover.png
 * File:DJ Max Technika 2 teaser.jpg
 * File:The Terminator (DOS).png
 * File:Popcap arcade1.jpg
 * File:Street Riders.jpg
 * File:Methods.jpg
 * File:machi cover.jpg
 * File:Katarn darkforces.png
 * File:Alpine_Ski.png
 * File:Road Runner Atari cover.jpg
 * File:KickAsslogo.jpg
 * File:Moo2ResearchMenu472.png
 * File:Qore sccenshot.jpg
 * File:Sb ev p01.gif
 * File:PokemonDiamondBox.jpg
 * File:Carnival.GIF
 * File:Ragnarok Online Official Logo.PNG
 * File:princesstomato.jpg
 * File:Legorockband.jpg
 * File:LegoStarWarsIILukeAndR2D2.JPG
 * File:SoundNovelTsukuruTitleScreen.png
 * File:Sonic 4 Screenshot.jpg
 * File:Sneakkingbox.jpg
 * File:SimHealth cover.jpg
 * File:Buzz Hollywood quiz cover.jpg
 * File:Disgaea 3- Absence of Justice.jpg
 * File:warningforeverpureheart.png
 * File:Klonoa 2 Dream Champ Tournament Screen03.jpg
 * File:Last Duel Poster.png
 * File:Dakar 2.jpg
 * File:Tww dekuleaf.png
 * File:Image dragon age 2.jpg
 * File:Eva battle orchestra.jpg
 * File:QoP nader game.jpg
 * File:Dead or Alive Paradise Cover Art.jpg
 * File:Riviera The Promised Land FiveHeroes.PNG
 * File:The Light Corridor - cover art.jpg
 * File:choukuukannight.jpg
 * File:High Voltage Software logo.svg
 * File:Sonic Labyrinth Coverart.png
 * File:Nanashi no Game.jpg
 * File:Gp32logo.png
 * File:Modern Combat Sandstorm.png
 * File:Cover-of-the-fantastic-adventures-of-dizzy.jpg
 * File:Ridge Racer Accelerated Screenshot.PNG
 * File:DJ Max Technika 2 Location Test gameplay screenshot.png
 * File:Hoyle1.png
 * File:Divine divinity cover.jpg
 * File:Dark chronicle cutscene.jpg
 * File:Zbp 1screen.png
 * File:RoadBlasters.jpg
 * File:Lost Dutchman Mine - cover art (IBM PC DOS).jpg
 * File:InkBall Vista Icon.png
 * File:Rumble Roses.jpg
 * File:SonicJamOverworld.JPG
 * File:Nintendogs petting.jpg
 * File:Hydrofool.jpg
 * File:Digimon Battle Spirit 2.jpg
 * File:Cod4 game engine.png
 * File:Bsmntpool.jpg
 * File:FS2000.png
 * File:Chris Kline Contra GDC07a.jpg
 * File:Cradle of Rome.png
 * File:dk64 jungle.jpg
 * File:Wiki-megaman-wallpaper.jpg
 * File:Gunfright title.gif
 * File:Qix Poster.png
 * File:Megaman Strategy Cover.PNG
 * File:OrreMap.PNG
 * File:hangly.gif
 * File:Bombermanlandwii.jpg
 * File:Essential Sudoku DS Coverart.png
 * File:Logotbyte.jpg
 * File:GameHouse Logo.png
 * File:Phantasie 3 the wrath of nikademus.jpg
 * File:Bo Jackson Baseball Coverart.png
 * File:Minecraft_Beta_1.0.2_crafting_a_stone_axe.png
 * File:104Cubone.png
 * File:Underworld - The Eternal War Coverart.png
 * File:Richard Petty's Talladega Cover.jpg
 * File:BohemianArchiveofJapaneseRed.jpg
 * File:rickdangerousboxart.jpg
 * File:OperationEurope-PathtoVictory1939-45TitleScreen.png
 * File:ElectronCitadel.png
 * File:Grand Theft Auto IV gameplay.jpg
 * File:Gbprinter hello.PNG
 * File:X-Men 2 - Game Master's Legacy Coverart.png
 * File:Star Fox Adventures GCN Game Box.jpg
 * File:Dead Space Logo.jpg
 * File:Kane rawin95 quote.png
 * File:Squier Stratocaster Pro Controller for Rock Band 3 @ E3 Expo 2010.jpg
 * File:Eternal lands character creation screen.png
 * File:Superoozumousfc.jpg
 * File:HOCUS.jpg
 * File:The Sims Medieval.jpg
 * File:Kelly Slater's Pro Surfer Coverart.png
 * File:Press_Start_2006_logo.png
 * File:benc.png
 * File:Move Party.png
 * File:Gladiator Game Pic.png
 * File:Sega GT 2002 Celica.jpg
 * File:VEX_Army_Combat.jpg
 * File:Rolo to the Rescue in-game screenshot (Sega Genesis).png
 * File:Combat School.png
 * File:PSP White.png
 * File:Asmikkunland.jpg
 * File:Atari-2600-Console.jpg
 * File:UO-Kingdom Reborn.jpg
 * File:Df2 firstperson.jpg
 * File:Cooking guide coverart.png
 * File:cotw-screen.gif
 * File:Advent Children Special Edition Cover.jpg
 * File:MH Stage 1.PNG
 * File:Shenmue Saturn.jpg
 * File:Geist,Monster.jpg
 * File:ATV Offroad Fury - Blazin' Trails Coverart.png
 * File:Wonder momo pcengineboxart.PNG
 * File:Eve Online - pod in space (Trinity Premium graphics).jpg
 * File:Galaxy Wars 1979 from Taito Screen shot.png
 * File:Earthrise combat gameplay.JPG
 * File:Cho-aniki-psx-5c.jpg
 * File:Soul Blazer battle.gif
 * File:Total annihilation screenie 3.1415926.jpg
 * File:LuigiNSMBW.png
 * File:Holding GHOT back.jpg
 * File:Metal Gear Solid cover art.png
 * File:Assaultheroes2 ss.jpg
 * File:indyracing2000.JPG
 * File:Street Fighter.png
 * File:udigits-gameplay-add-digits.png
 * File:Vanguard Bandits Coverart.png
 * File:Douglas Baker.JPG
 * File:BigKahunaWords Box.jpg
 * File:RuneFactory2-2.PNG
 * File:GulfofMelange.jpg
 * File:Nether Earth Cover.jpg
 * File:MOC-Duel.png
 * File:dmc3box.jpg
 * File:No one lives forever 2 video game PC cover scan.jpg
 * File:Oh my god! japanese screenshot.png
 * File:COLOR.png
 * File:Company-4A games.jpg
 * File:Batman Beyond - Return of the Joker Coverart.png
 * File:CaptainComicBoxart.jpg
 * File:Flips Twisted World box cover.jpg
 * File:ECS password sheet.jpg
 * File:Ganbare neopoke-kun title.png
 * File:Dreamcast-internal.jpg
 * File:Nethergate-logo.png
 * File:StudioEgo.jpg
 * File:GK2boxart.jpg
 * File:Nitro2.gif
 * File:dirgeofcerberususbox.jpg
 * File:AceStrikerJPBoxShotSNES.jpg
 * File:Feud cover.jpg
 * File:Dark_Mist.png
 * File:Tekken6cover.jpg.jpg
 * File:Hes-logo.jpg
 * File:Inyourhousepsx.jpg
 * File:Star Fox Brawl.jpg
 * File:Hey You, Pikachu! Coverart.png
 * File:Super Paper Mario cover.jpg
 * File:Perfect-dark-initial-vector cover.jpg
 * File:Knights in the Nightmare cover.jpg
 * File:Battle_%26_Get!_Pok%C3%A9mon_Typing_DS.png
 * File:Psikyo-logo.png
 * File:SuperMultitap2.jpg
 * File:Dark Reign 2 Box.jpg
 * File:ESPN Speed World Coverart.png
 * File:C64 Koala Painter.png
 * File:SHODAN hires.jpg
 * File:Ryujiyamazaki.jpg
 * File:Star Command Coverart.png
 * File:Krystal111.jpg
 * File:Bust-A-Move 99 PS.jpg
 * File:Mmnetworktransmission gameplay.jpg
 * File:SSN Game.jpg
 * File:Dino Crisis 2 Screen 1.jpg
 * File:Starmaster Combat Screen.JPG
 * File:Laser ghost.jpg
 * File:Rall0000.png
 * File:Flag of United Kingdom.svg
 * File:SMK2.jpg
 * File:Namco Star Wars.jpg
 * File:Kowloon's Gate Cover.jpg
 * File:Gundam Lost War Chronicles manga.jpg
 * File:Family Park Tycoon Coverart.png
 * File:Link and Epona Majora's Mask.png
 * File:Gauntlet - Seven Sorrows Coverart.png
 * File:Streamline studios logo.png
 * File:Gaelic Games Hurling.png
 * File:MakaiDaiboukenDS.jpg
 * File:Young Ayu Tsukimiya Kanon game.jpg
 * File:SupCom-win-cover.jpg
 * File:dkc snes boxart.jpg
 * File:Topatoi-game-icon.png
 * File:Exeriont.png
 * File:Chrysler Classic Racing coverart.jpg
 * File:nProtect GameGuard logo.png
 * File:Tokimeki Memorial Girl's Side Coverart.png
 * File:Guitar Rock Tour.jpg
 * File:Border Break screenshot.jpg
 * File:Lucidity artwork.jpg
 * File:Bee Movie Game.jpg
 * File:Kirby from Super Star Ultra.png
 * File:Cyberiagunturret.JPG
 * File:Brawl Brothers Coverart.png
 * File:Knights of the Sky Cover.jpg
 * File:Virtua Tennis World Tour.jpeg
 * File:Xenogearsbattlescene.jpg
 * File:Mail Order Monsters.jpg
 * File:Singularity cover.jpg
 * File:Dynamite Dan.gif
 * File:Cirqus Voltaire (Ringmaster).jpg
 * File:Plobb Screenshot 250px.jpg
 * File:Joehigashikof2000.jpg
 * File:61034.jpg
 * File:Hot Potato Coverart.jpg
 * File:Geneforge2Logo.png
 * File:World of Warcraft TCG.jpg
 * File:Black-Prophecy logo.svg
 * File:B_BachelorParty_front.jpg
 * File:Ocean Software logo.png
 * File:Minigore cover art.jpg
 * File:Desert Rats ccs.gif
 * File:Pro-yakyu-13.jpg
 * File:The blue marlin nes box art.jpg
 * File:Dangerous Waters - Box Front.jpg
 * File:Game Radio.jpg
 * File:Mamonoro.jpg
 * File:Sttngfp002.jpg
 * File:Lauras Happy Adventures.JPG
 * File:Exile shot.png
 * File:Screen shot 2010-07-17 at 4.34.10 PM.png
 * File:Leisure Suit Larry 6 - Shape Up or Slip Out! Coverart.png
 * File:Bound high logo.png
 * File:Inspector Gadget Operation Madkactus Cover.jpg
 * File:Pe2-cyborg.jpg


 * Looks like there's a bunch of redlinks. I imagine that's because the bot doesn't distinguish between actual links and links that have been commented out in the wikicode (i.e.  .  In any case, the bot is already programmed to make sure that a file actually exists before posting on its talk page, so those redlinks will be ignored.  Snotty Wong   chat 21:36, 11 February 2011 (UTC)
 * Anomie's lists already had the files, so that's where I looked and previewed a batch of 300 or so. — HELL KNOWZ  ▎TALK 21:50, 11 February 2011 (UTC)
 * 150 edits made with only one problem: The bot is skipping over files that are hosted on Commons. The API is telling the bot that the files don't exist (see this API query), and the bot just skips them.  What do you think the bot should do in these cases?  Even if it could search Commons to see if the file exists, it still probably wouldn't be useful to create a talk page on en-wiki for the file, right?  I suppose the bot should just be skipping over these files anyway?  Snotty Wong   spout 22:41, 11 February 2011 (UTC)
 * Argh. It also appears that it blanked the existing talk page of 15 articles.  I'll go through and fix them manually.  Silly omission in the code.  Snotty Wong   babble 22:49, 11 February 2011 (UTC)
 * Problem fixed and code updated to add the template to the top of existing talk pages instead of overwriting them completely (assuming the talk page doesn't already have the WPVG banner or one of its redirects). Snotty Wong   babble 23:00, 11 February 2011 (UTC)
 * Use prop=imageinfo to tell if the image exists (imagerepository in the response will tell you if it's local or Commons); prop=info gets you info on the description page whether or not the file itself exists. Anomie⚔ 18:29, 13 February 2011 (UTC)
 * Thanks for the tip, I tried it out and it works. However, I don't think I should be creating talk pages here for images that are on commons.  Do you agree?  Snotty Wong   soliloquize 16:38, 14 February 2011 (UTC)
 * I don't have a strong opinion one way or the other, but I do lean towards not creating those talk pages. Anomie⚔ 17:56, 14 February 2011 (UTC)
 * I don't have a strong opinion one way or the other, but I do lean towards not creating those talk pages. Anomie⚔ 17:56, 14 February 2011 (UTC)

Only non-scope image I found was File talk:Flag of the United Kingdom.svg. What about if talk page uses WikiProjectBannerShell? I doubt there's many images now, but should you get requested to tag more projects, you may end up tagging the same page multiple times for different projects.

Anyway, Let's see correct existing page update. — HELL KNOWZ  ▎TALK 09:19, 12 February 2011 (UTC)
 * As the majority of our images are hosted locally (at least, all of the non-free ones), the hope was that the bot would skip the Commons images. All the iffy images should be at commons (map of Nebraska, picture of a tiger, or whatever). Free video game images aren't terribly common, are easy to find at Commons, and don't require the maintenance that non-free images do. If any free images are hosted locally, I will move them to commons. ▫  Johnny Mr Nin ja  18:22, 14 February 2011 (UTC)
 * Sounds good. This is the bot's current behavior, so it shouldn't need any updating.  I'm not currently at the PC that runs the bot, but I should have the ability to do another test run in a few hours.  Snotty Wong   talk 18:52, 14 February 2011 (UTC)

I made 50 more random edits, and only one of them had an existing talk page, File talk:VentureAfrica.png. It took forever this time because there was a lot of database server lag, so the bot kept pausing. Looks like the previous problems have been resolved. Also, I have changed the bot so that it doesn't mark the edits as minor if it is creating a new page (I did that after the 50 edits were complete, so you won't see that until next time). Snotty Wong  prattle 21:47, 14 February 2011 (UTC)

What about if talk page uses WikiProjectBannerShell? — HELL KNOWZ  ▎TALK 21:58, 14 February 2011 (UTC)
 * Ahh, right. I haven't addressed that yet.  My first thought is to just have the bot skip over any pages that use that template, and create a list of such pages.  Then, if there are only a handful of pages (and I expect there will be very few, if any at all), then I can just process them manually.  If the list ends up being quite large, then I can run a different script to process them on their own.  However, I think that creating a complicated regex to deal with that situation is going to be a lot of effort to expend for one or two cases (and increased risk for mistakes), especially considering that less than 150 pages in the File Talk namespace use that template (including its redirects).  Snotty Wong   yak 22:31, 14 February 2011 (UTC)
 * Does that work for you? Snotty Wong   speak 02:28, 16 February 2011 (UTC)
 * I was thinking about future case in which you could run this task for more projects, eventually tagging some files to multiple projects.

Anyway, —  HELL KNOWZ  ▎TALK 08:44, 16 February 2011 (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.