אונטערשייד צווישן ווערסיעס פון "באַניצער:בוט צמא לדעת/descriptions.js"
קפיצה לניווט
קפיצה לחיפוש
אין תקציר עריכה |
אין תקציר עריכה |
||
שורה 73: | שורה 73: | ||
api.get(params).done(function (data) { | api.get(params).done(function (data) { | ||
for (const p in data.query.pages) { | for (const p in data.query.pages) { | ||
if ("categories" in | if ("categories" in p) ret = false; | ||
} | } | ||
}) | }) |
רעוויזיע פון 01:42, 20 אקטאבער 2023
mw.loader.using(['mediawiki.jqueryMsg']).done(function () {
function listPages() {
const api = new mw.Api();
api.get({
"action": "query",
"format": "json",
"list": "allpages",
"utf8": 1,
"apnamespace": "8000",
"apfilterredir": "nonredirects",
//"apfrom": "א",
"aplimit": "10"
}).done((data) => {
//console.table(data);
const list = data.query.allpages;
console.timeLog('מדידת זמן', 'a');
console.table(list);
for (const p in list) {
const pageName = list[p].title;
wikidataDesc(pageName);
}
})
}
function wikidataDesc(page) {
const pageName = page//.replace('איד:', 'ייד').replace(/^רבי /, "").replace(/^הרב /, "").replace(/\"הייליגע\"/g, "הייליגע").replace('דעיוויד', 'דייוויד');
$.ajax({
url: '//www.wikidata.org/w/api.php',
data: {
'format': 'json',
'action': 'wbgetentities',
'sites': "yiwiki",
'titles': pageName.replace("רוי:", ""),
'props': 'descriptions',
'languages': 'yi'
},
dataType: 'jsonp',
cache: true
})
.done(function (data) {
console.log(data);
if (data.success) {
//console.table(data.success);
$(function () {
for (var e in data.entities) {
if (e == -1) return;
var descriptions = data.entities[e].descriptions;
if (!descriptions.yi) return console.log('ל' + pageName + ' אין מידע ויקינתונים.');
const description = descriptions.yi.value;
//console.table(e);
console.log(pageName + ' : ' + description);
console.timeLog('מדידת זמן', '2');
if (needed(pageName)) {
addDesc(pageName, description);
}
}
});
}
});
}
function needed(pageName) {
var params = {
"action": "query",
"format": "json",
"titles": pageName,
"prop": "categories",
"clcategories": "קאַטעגאָריע:בלעטער מיט קורצע דעסקריפציע"
}
var api = new mw.Api();
var ret = true;
api.get(params).done(function (data) {
for (const p in data.query.pages) {
if ("categories" in p) ret = false;
}
})
return ret;
}
function addDesc(pageName, text) {
var params = {
"action": "edit",
"format": "json",
"title": pageName,
"summary": "דעסקריפציע: " + text,
"minor": 1,
"bot": 1,
"prependtext": '{{דעסקריפציע|' + text + '}}\n',
"appendtext": '\n[' + '[קאַטעגאָריע:וויקידאטא דעסקריפציע]]</noinclude>',
"utf8": 1
},
api = new mw.Api();
api.postWithToken('csrf', params).done(function (data) {
console.table(data);
console.timeLog('מדידת זמן', 3);
});
}
if (mw.config.get('wgUserGroups').indexOf('bot') !== -1 && confirm('להריץ?')) {
console.time('מדידת זמן');
listPages();
}
})