באַניצער:בוט צמא לדעת/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",
            "generator": "allpages",
            "utf8": 1,
            "gapnamespace": "8000",
            "gapfilterredir": "nonredirects",
            //"apfrom": 'רבי שלמה האלבערשטאם',
            "gaplimit": "200",
            "prop": "categories",
            "clcategories": "קאַטעגאָריע:בלעטער מיט קורצע דעסקריפציע"
        }).done((data) => {
            //console.table(data);
            const list = data.query.pages;
            console.timeLog('מדידת זמן', 'a');
            console.table(list);
            var sum = 0;
            for (const p in list) {
                const pageName = list[p].title;
                if (!("categories" in list[p])) {
                    wikidataDesc(pageName);
                }
                sum++;
                if (sum >= 199) {
                    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': 'sitelinks',
                'languages': 'en',
                'sitefilter': 'enwiki'
            },
            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 labels = data.entities[e].sitelinks;
                            if (!labels.enwiki) return console.log('ל' + pageName + ' אין מידע ויקינתונים.');
                            const interwiki = labels.enwiki.title;
                            //console.table(e);
                            console.log(interwiki + ' : ' + pageName);
                            console.timeLog('מדידת זמן', '2');
                            var params = {
                                "action": "query",
                                "format": "json",
                                "titles": interwiki,
                                "prop": "description"
                            };
                            $.ajax({
                                url: '//en.wikipedia.org/w/api.php',
                                data: params,
                                dataType: 'jsonp',
                                cache: true
                            })

                                .done(function (data) {
                                    console.log(data);
                                    if (data.success) {
                                        $(function () {
                                            for (var p in data.query.pages) {
                                            	console.log(p)
                                                if ("description" in data.query.pages[p] && data.query.pages[p].descriptionsource === "local") {
                                                    addDesc(pageName, data.query.pages[p].description)
                                                }
                                            }

                                        }
                                        )

                                    }
                                });
                        }
                    });
                }

            });
    }

    function addDesc(pageName, description) {

        var params = {
            "action": "edit",
            "format": "json",
            "title": pageName,
            "summary": "דעסקריפציע",
            "minor": 1,
            "bot": 1,
            "prependtext": '{{דעסקריפציע||ענגליש-וויקי|' + description + '}}',
            //"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();
    }
})