User:RillkeBot/upWizCleanUp.js
Jump to navigation
Jump to search
Note: After saving, you have to bypass your browser's cache to see the changes. Internet Explorer: press Ctrl-F5, Mozilla: hold down Shift while clicking Reload (or press Ctrl-Shift-R), Opera/Konqueror: press F5, Safari: hold down Shift + Alt while clicking Reload, Chrome: hold down Shift while clicking Reload.
Documentation for this user script can be added at User:RillkeBot/upWizCleanUp. |
mw.loader.using(['ext.gadget.libCat', 'ext.gadget.SettingsManager'], function() {
mw.libs.commons.api.maxSimultaneousReq = 1;
mw.libs.settingsManager.fetchGadgetSetting('rbot-upwizcleanup').done(function(prefName, settingValue) {
settingValue = settingValue || {};
var startValue = settingValue.ts || '2013-07-29T22:00:00Z',
toWorkOn = [];
var workOnTitles = function () {
var params = {
remove: [], // Array or string containing categories to be removed
add: ['Uploaded with UploadWizard'],
titles: toWorkOn, // Array of titles to work on or a string of page separated by a pipe (|) character
summary: '[[Commons:Bots/Requests/RillkeBot|Cleaning-up UploadWizard uploads]]. Removing 0-location templates.', // String -- Reason for doing so
beforeSave: function (txt) {
var nwe1 = mw.libs.wikiDOM.nowikiEscaper(txt);
return nwe1.secureReplace('\n{{Location dec|0|0}}', '').getText();
}
};
new mw.libs.Cat({ editArgs: { bot: true } }).batchEdit(params).progress(function () {
console.log.apply(console.log, Array.prototype.slice.call(arguments));
}).done(function () {
toWorkOn = [];
console.log('BATCH DONE!');
fetchList();
});
};
var fetchList = function() {
mw.libs.settingsManager.switchGadgetPref('rbot-upwizcleanup', { ts: startValue });
mw.libs.commons.api.$query({
action: 'query',
list: 'allimages',
rawcontinue: 1,
aisort: 'timestamp',
aidir: 'older',
aiprop: 'comment',
aistart: startValue,
ailimit: 500
}).done(function(r) {
startValue = r['query-continue'].allimages.aistart;
$.each(r.query.allimages, function(i, img) {
if (img.comment === 'User created page with UploadWizard') toWorkOn.push(img.title);
});
workOnTitles();
});
};
fetchList();
});
});