אונטערשייד צווישן ווערסיעס פון "באַניצער:בוט צמא לדעת/descriptions.js"

פון המכלול
קפיצה לניווט קפיצה לחיפוש
אין תקציר עריכה
אין תקציר עריכה
שורה 9: שורה 9:
             "apnamespace": "8000",
             "apnamespace": "8000",
             "apfilterredir": "nonredirects",
             "apfilterredir": "nonredirects",
             //"apfrom": "שמן",
             "apfrom": "1919",
             "aplimit": "500"
             "aplimit": "500"
         }).done((data) => {
         }).done((data) => {

רעוויזיע פון 09:22, 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": "1919",
            "aplimit": "500"
        }).done((data) => {
            //console.table(data);
            const list = data.query.allpages;
            console.timeLog('מדידת זמן', 'a');
            console.table(list);
            var sum = 0;
            for (const p in list) {
                const pageName = list[p].title;
                wikidataDesc(pageName);
                sum++;
                if (sum >= 499) {
                	console.log('last was: ', 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("רוי:", "").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');
                            var params = {
                                "action": "query",
                                "format": "json",
                                "titles": pageName,
                                "prop": "categories",
                                "clcategories": "קאַטעגאָריע:בלעטער מיט קורצע דעסקריפציע"
                            }

                            var api = new mw.Api();
                            api.get(params).done(function (data) {
                                for (const p in data.query.pages) {
                                    console.log(data.query.pages[p]);
                                    if (!("categories" in data.query.pages[p])) {
                                        addDesc(pageName, description);
                                    }
                                }
                            })

                        }
                    });
                }
            });
    }



    function addDesc(pageName, text) {
        var params = {
            "action": "edit",
            "format": "json",
            "title": pageName,
            "summary": "דעסקריפציע: " + text,
            "minor": 1,
            "bot": 1,
            "prependtext": '{{דעסקריפציע|' + text + '}}\n',
            "appendtext": '\n[' + '[קאַטעגאָריע:וויקידאטא דעסקריפציע]]',
            "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 && (mw.config.get('wgAction') != 'edit') && confirm('להריץ?')) {
        console.time('מדידת זמן');
        listPages();
    }
})