User:TheStoneWatcher

From Zelda Wiki, the Zelda encyclopedia
Revision as of 03:55, 22 January 2011 by Mandi2517@legacy41958928 (talk | contribs) (Text replace - "Zelda Wiki.org" to "ZeldaWiki")
Jump to navigation Jump to search
TheStoneWatcher is always watching! (...except when it's not)
TheStoneWatcher is always watching! (...except when it's not)


TheStoneWatcher is ZeldaWiki's resident multi-purpose bot. The bot acts as a front-end for the Pywikipedia bot framework, allowing for the use of pre-made or custom python scripts to assist with repetitive tasks. For any questions or problems, contact Adam or any of the other active staff.

Edit counts

Regular Tasks

TheStoneWatcher performs a number of common, basic maintenance tasks:

Welcoming Users

TheStoneWatcher welcomes all new users to the wiki using the NewUserMessage extension. TheStoneWatcher has welcomed approximately {{#ec:TheStoneWatcher|3}} new users to the wiki since July 10th, 2009.

Fixing Redirects

Redirect.py is used to fix any double redirects. A cron job is scheduled to run the command "python ./public_html/extensions/pywikipedia/redirect.py double -always" every hour, on the hour. Broken redirects should be investigated before fixing, to ensure that problems are not being masked, but can also be fixed automatically by running the following command:

python ./public_html/extensions/pywikipedia/redirect.py broken -always


Identifying Broken Links

Periodically, Weblinkchecker.py is used to create a list of pages containing broken external links. The list is available here, and is a starting point to allow users to manually fix these broken links.

Deletion of Unused Files

Most recent deletions

Periodically, Delete.py is used to clear a selected list of old files from Special:UnusedFiles. This is done to help keep the wiki tidy, and a snapshot of each deletion batch is kept (see left), in case any deleted images should need to be retrieved.

Game link correction

Replace.py is used to replace incorrectly used (ie not substituted) game link shortcut templates. The initial batch of replacements on 27 February 2010 corrected more than 233 incorrect usages. A cron job is scheduled to run the command "sh replace.sh" on a daily basis, which contains the following commands:

#!/bin/bash
REP="./public_html/extensions/pywikipedia/replace.py"
python ${REP} -transcludes:ALTTP "{{ALTTP}}" "'[[The Legend of Zelda: A Link to the Past|A Link to the Past]]''" -nocase -summary:"Bot: Forcing substitution of game shortcut template" -always
python ${REP} -transcludes:AOL "{{AOL}}" "''[[Zelda II: The Adventure of Link|The Adventure of Link]]''" -nocase -summary:"Bot: Forcing substitution of game shortcut template" -always
python ${REP} -transcludes:AST "{{AST}}" "''[[BS The Legend of Zelda: The Ancient Stone Tablets|Ancient Stone Tablets]]''" -nocase -summary:"Bot: Forcing substitution of game shortcut template" -always
python ${REP} -transcludes:BSZ "{{BSZ}}" "''[[BS The Legend of Zelda|BS Zelda]]''" -nocase -summary:"Bot: Forcing substitution of game shortcut template" -always
python ${REP} -transcludes:FPTRR "{{FPTRR}}" "''[[Freshly-Picked Tingle's Rosy Rupeeland]]''" -nocase -summary:"Bot: Forcing substitution of game shortcut template" -always
python ${REP} -transcludes:FS "{{FS}}" "''[[The Legend of Zelda: Four Swords|Four Swords]]''" -nocase -summary:"Bot: Forcing substitution of game shortcut template" -always
python ${REP} -transcludes:FSA "{{FSA}}" "''[[The Legend of Zelda: Four Swords Adventures|Four Swords Adventures]]''" -nocase -summary:"Bot: Forcing substitution of game shortcut template" -always
python ${REP} -transcludes:LA "{{LA}}" "''[[The Legend of Zelda: Link's Awakening|Link's Awakening]]''" -nocase -summary:"Bot: Forcing substitution of game shortcut template" -always
python ${REP} -transcludes:LCT "{{LCT}}" "''[[Link's Crossbow Training]]''" -nocase -summary:"Bot: Forcing substitution of game shortcut template" -always
python ${REP} -transcludes:LOZ "{{LOZ}}" "''[[The Legend of Zelda (Game)|The Legend of Zelda]]''" -nocase -summary:"Bot: Forcing substitution of game shortcut template" -always
python ${REP} -transcludes:MM "{{MM}}" "''[[The Legend of Zelda: Majora's Mask|Majora's Mask]]''" -nocase -summary:"Bot: Forcing substitution of game shortcut template" -always
python ${REP} -transcludes:OOA "{{OOA}}" "''[[The Legend of Zelda: Oracle of Ages|Oracle of Ages]]''" -nocase -summary:"Bot: Forcing substitution of game shortcut template" -always
python ${REP} -transcludes:OOS "{{OOS}}" "''[[The Legend of Zelda: Oracle of Seasons|Oracle of Seasons]]''" -nocase -summary:"Bot: Forcing substitution of game shortcut template" -always
python ${REP} -transcludes:OOT "{{OOT}}" "''[[The Legend of Zelda: Ocarina of Time|Ocarina of Time]]''" -nocase -summary:"Bot: Forcing substitution of game shortcut template" -always
python ${REP} -transcludes:PH "{{PH}}" "''[[The Legend of Zelda: Phantom Hourglass|Phantom Hourglass]]''" -nocase -summary:"Bot: Forcing substitution of game shortcut template" -always
python ${REP} -transcludes:ST "{{ST}}" "''[[The Legend of Zelda: Spirit Tracks|Spirit Tracks]]''" -nocase -summary:"Bot: Forcing substitution of game shortcut template" -always
python ${REP} -transcludes:TBF "{{TBF}}" "''[[Tingle's Balloon Fight]]''" -nocase -summary:"Bot: Forcing substitution of game shortcut template" -always
python ${REP} -transcludes:TLBT "{{TLBT}}" "''[[Color Changing Tingle's Love Balloon Trip]]''" -nocase -summary:"Bot: Forcing substitution of game shortcut template" -always
python ${REP} -transcludes:TMC "{{TMC}}" "''[[The Legend of Zelda: The Minish Cap|The Minish Cap]]''" -nocase -summary:"Bot: Forcing substitution of game shortcut template" -always
python ${REP} -transcludes:TP "{{TP}}" "''[[The Legend of Zelda: Twilight Princess|Twilight Princess]]''" -nocase -summary:"Bot: Forcing substitution of game shortcut template" -always
python ${REP} -transcludes:TRR "{{TRR}}" "''[[Freshly-Picked Tingle's Rosy Rupeeland]]''" -nocase -summary:"Bot: Forcing substitution of game shortcut template" -always
python ${REP} -transcludes:TWW "{{TWW}}" "''[[The Legend of Zelda: The Wind Waker|The Wind Waker]]''" -nocase -summary:"Bot: Forcing substitution of game shortcut template" -always

Special Tasks

Occasionally, TheStoneWatcher is used to carry out more specific, one-off tasks. Past examples include:

Changeover of Image Templates

(completed 21st August 2009)
Following an overhaul of the Image Templates, over 1000 pages remained containing the deprecated template {{c-nintendo}} (often together with other templates). Add_text.py was used to selectively add the new template, allowing the deprecated template to be blanked and avoiding duplication.

The following command was used:

python ./public_html/extensions/pywikipedia/add_text.py -cat:C-nintendo -text:"{{copyright}}" -up -except:"[Ff]ound[Ii]mage" -always

Migration of Community Content

(completed 14th November 2009)
Following the creation of the new Community namespace, Movepages.py was used to move all community-related Main and Talk pages to the new namespace.

The following command was used:

python ./public_html/extensions/pywikipedia/movepages.py -catr:community -namespace:0,1 -prefix:Community: -summary:"Robot: Moving all community content to new namespace" -always

Adding interwiki links to Zeldapendium

(8th January 2010)
Template:De requires the addition of either {{de}} or {{de|German article title}} to pages added to the template's list. Add_text.py and pagefromfile.py to add the required templates to 240 articles.

The following commands were used:

python ./public_html/extensions/pywikipedia/add_text.py -file:./public_html/extensions/pywikipedia/de_normal.txt -except:"[Dd][Ee]:" -except:"{{[Dd][Ee]" -text:"{{de}}" -summary:"Adding interwiki link to German article at Zeldapendium" -always -log:Template_De.log
python ./public_html/extensions/pywikipedia/pagefromfile.py -file:./public_html/extensions/pywikipedia/de_special.txt -notitle -appendbottom -summary:"Adding interwiki link to German article at Zeldapendium" -log:Template_De.log

Adding Names template

(completed 9th January 2010)
Following the creation of a matrix of translations, the data was converted into the correct format to be used in the Names template. Pagefromfile.py was used to insert the template code into 322 articles.

python ./public_html/extensions/pywikipedia/pagefromfile.py -file:./public_html/extensions/pywikipedia/names.txt -notitle -appendbottom -summary:"Automated addition of Names template" -log:Template_Names.log