באַניצער:בוט צמא לדעת/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": "10",
            "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) {
                                            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();
}