באַניצער:בוט צמא לדעת/descriptions.js

פון המכלול
קפיצה לניווט קפיצה לחיפוש

אַכטונג: נאכן היטן, ברויכט איר אפשר נאך אויסקרויזן דעם בראוזער'ס זאַפאַס צו זען די ענדערונגען.

  • פייערפוקס/סאפארי: האלט אראפ שיפט בשעת'ן דרוקן Reload, אדער דרוקט Ctrl-F5 אדער Ctrl-R (אויף א מאקינטאש ⌘-R)
  • גוגל כראם: דרוקט Ctrl-Shift-R (אויף א מאקינטאש ⌘-Shift-R)
  • אינטערנעט עקספלארער: האלט אראפ Ctrl בשעת'ן קליקן Refresh, אדער דרוקט Ctrl-F5
  • אפערע: גייט צו מעניו → שטעלונגען ( אפערע → פרעפערנצן אויף א מעק) און דערנאך צו פריוואטקייט & און זיכערהייט → רוימען בראוזער דאטא → בילדער און טעקעס אין זאפאס
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": "redirects",
            "apfrom": "אנציקלופדיה",
            "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 redirect = page//.replace('איד', 'ייד')//.replace(/^רבי /, "").replace(/^הרב /, "").replace(/\"הייליגע\"/g, "הייליגע").replace('דעיוויד', 'דייוויד');
        const api = new mw.Api();
        api.get({
            "action": "query",
            "format": "json",
            "utf8": 1,
            "titles": redirect,
            "redirects": true
        }).done((info) => {
            const target = info.query.redirects[0].to;
            $.ajax({
                url: '//www.wikidata.org/w/api.php',
                data: {
                    'format': 'json',
                    'action': 'wbgetentities',
                    'sites': "yiwiki",
                    'titles': redirect,
                    '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(redirect + ' (' + target + '): ' + description);
                                console.timeLog('מדידת זמן', '2');
                                var params = {
                                    "action": "query",
                                    "format": "json",
                                    "titles": target,
                                    "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(target, 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();
    }
})