Module:Sandbox/Ahecht/flag/redirects/doc
< Module:Sandbox | Ahecht | flag | redirects
Jump to navigation
Jump to search
Revision as of 17:12, 12 June 2020 by blackwiki>Ahecht (cleanup)
This is the documentation page for Module:Sandbox/Ahecht/flag/redirects
Generated by the following code:
var api = new mw.Api();
var query = {
action: "query",
generator: "allpages",
gapprefix: "Country data ",
gapnamespace: "10",
gapfilterredir: "nonredirects",
gaplimit: "max",
prop: "redirects",
rdlimit: "max"
};
pageIDs = {};
redirects = {};
function apiGet(query, cont) {
if (cont) {
query = Object.assign(query, cont);
}
api.get( query )
.done (function (data) {
if (data && data.query) {
if (data.query.pages) {
Object.entries(data.query.pages).forEach(function(item) {
if (!/\//.test(item[1].title) ) {
itemTitle = item[1].title.replace(/Template:(?:Flag|Country) data /,'');
pageIDs[itemTitle] = item[1].pageid;
if(item[1].redirects) {
for (var i = 0; i < item[1].redirects.length; i++) {
fromTitle = item[1].redirects[i].title.replace(/Template:(?:Flag|Country) data /,'');
if (fromTitle != itemTitle) { redirects[fromTitle] = itemTitle; }
}
}
}
} );
}
}
if (data && data['continue']) {
console.log("Getting...")
return apiGet(query, data['continue']);
} else {
apiDone();
return;
}
} );
}
function apiDone() {
console.log("Done!");
console.log(Object.keys(pageIDs).length + " pages, " + Object.keys(redirects).length + " redirects.");
output = 'return {\n';
for (title in redirects) {
output += '\t["' + title + '"] = "' + redirects[title] + '",\n';
}
output += '}';
console.log(output);
}
apiGet(query);