User:Czar/delsort+findvgsources.js
//
importScript( 'User:Enterprisey/delsort.js' ); // Backlink: User:APerson/delsort.js // Deletion sorting script, used to use WP:FWDS, see Wikipedia:WikiProject Deletion sorting#Scripts and tools
// hook to change {{find sources}} to {{find VG sources}} at relevant video game AfDs, by Enterprisey, see User talk:Enterprisey#Find video game sources with Delsort script
window.delsortDoneHook = function () {
var SUMMARY = "Swapping the regular find sources template for the video game-specific one";
var VG_DELSORT_PAGE = "Wikipedia:WikiProject Deletion sorting/Video games";
$.getJSON(
mw.util.wikiScript('api'),
{
format: 'json',
action: 'query',
prop: 'revisions',
rvprop: 'content',
rvlimit: 1,
titles: mw.config.get( 'wgPageName' )
}
).done( function (data) {
try {
var pageId = Object.keys(data.query.pages)[0];
wikitext = data.query.pages[pageId].revisions[0]['*'];
// Check if page has been delsorted into the video games list
if( wikitext.indexOf( VG_DELSORT_PAGE ) >= 0 ) {
// Swap find sources template with the VG-specific one
wikitext = wikitext.replace( "{{Find sources AFD|", "{{Find video game sources|" );
// Save page
$.ajax( {
url: mw.util.wikiScript( 'api' ),
type: 'POST',
dataType: 'json',
data: {
format: 'json',
action: 'edit',
title: mw.config.get( 'wgPageName' ),
summary: SUMMARY,
token: mw.user.tokens.get( 'csrfToken' ),
text: wikitext
}
} ).done ( function ( data ) {
if ( data && data.edit && data.edit.result && data.edit.result == 'Success' ) {
mw.notify( "Find sources template swapped!" );
} else {
mw.notify( "Error swapping find sources template!" );
}
} )
}
} catch ( e ) {
mw.notify( "Error swapping find sources template!" );
console.log( "post-DELSORT content request error: " + e.message );
console.log( "post-DELSORT content request response: " + JSON.stringify( data ) );
}
} );
};
//