Content deleted Content added
&cmnamespace=118 |
Use LiftWing instead of ORES, allowing it to work on other language wikis |
||
Line 186:
function getPredicts() {
var
if (lang.length == 1) return;
const liftWingExternalEndpoint = "https://api.wikimedia.org/service/lw/inference/v1/models/";
let headers = new Headers({
"Content-Type": "application/json",
"User-Agent": "draft-sorter (https://en.wikipedia.org/wiki/User:Ahecht/Scripts/draft-sorter.js)"
var revID = mw.config.get( "wgCurRevisionId" );
var model = (lang[0] == "en") ? "enwiki-drafttopic" : "articletopic-outlink";
var postBody = JSON.stringify({
"rev_id": revID,
.done( function ( data ) {▼
"lang": lang[0],
if(data && data[dbName] && data[dbName].scores &&▼
"page_title": mw.config.get("wgPageName")
data[dbName].scores[revID] &&▼
data[dbName].scores[revID].drafttopic &&▼
data[dbName].scores[revID].drafttopic.score &&▼
fetch(liftWingExternalEndpoint + model + ":predict", {
data[dbName].scores[revID].drafttopic.score.prediction) {▼
method: "POST",
headers: new Headers({
"Content-Type": "application/json",
"User-Agent": "draft-sorter (https://en.wikipedia.org/wiki/User:Ahecht/Scripts/draft-sorter.js)"
body: postBody
}).then(response => response.json()).then(data => {
var prediction = [];
var dbName = mw.config.get("wgDBname");
} else if (data && data.prediction && data.prediction.results) {
if (p && p.topic) prediction.push(p.topic);
}
if (prediction.length) {
console.log(prediction);
if (prediction.find(element => (
element.split(".")[element.split(".").length-1] != last &&
element.split(".")[element.split(".").length-2] == penultimate
}
}
▲ var prediction = data[dbName].scores[revID].drafttopic.score.prediction;
▲ console.log("Got ORES response! Raw predictions:");
} else if ( last ) {
▲ prediction.forEach( function (item) {
var
▲ // Filter out redundant starred predictions
▲ element.split(".")[element.split(".").length-1] != last &&
▲ element.split(".")[element.split(".").length-2] == penultimate
▲ ) ) ) {
▲ console.log("Prediction \"" + last + "\" excluded.");
▲ last = null;
▲ } else {
▲ last = penultimate;
▲ }
▲ }
▲ if ( wikiprojects[last] ) {
▲ // WikiProject found, no need to try splitting
▲ } else if ( last ) {
▲ // Can't find wikiProject, try splitting
▲ + splitLast[i].slice(1);
▲ }
}
▲ console.error("Error retrieving ORES data: " + error);
▲ } );
return;
}
|