update for last week push
parent
a22e2dcfcb
commit
e991179bbd
@ -0,0 +1,50 @@
|
||||
function randint (from, to) {
|
||||
return from + Math.floor((Math.random() * (to-from)));
|
||||
}
|
||||
|
||||
function choice (arr) {
|
||||
let ri = randint(0, arr.length-1);
|
||||
let ret = arr[ri];
|
||||
arr.splice(ri, 1);
|
||||
return ret;
|
||||
}
|
||||
|
||||
async function make_phrase (nn, terms, delay) {
|
||||
nn.querySelector(".actor").innerHTML = choice(terms['actor']);
|
||||
await sleep(delay);
|
||||
nn.querySelector(".action").innerHTML = choice(terms['action']);
|
||||
await sleep(delay);
|
||||
if (randint(0, 2) == 0) {
|
||||
nn.querySelector(".prefix").innerHTML = choice(terms['prefix'])+'-';
|
||||
} else {
|
||||
nn.querySelector(".prefix").remove();
|
||||
}
|
||||
nn.querySelector(".sort").innerHTML = choice(terms['sort']);
|
||||
await sleep(delay);
|
||||
nn.querySelector(".media").innerHTML = choice(terms['media']);
|
||||
}
|
||||
|
||||
const sleep = delaysecs => new Promise(resolve => setTimeout(resolve, delaysecs*1000));
|
||||
|
||||
let limit = 25;
|
||||
|
||||
async function make_phrases (json, id) {
|
||||
let terms = await (await fetch(json)).json();
|
||||
// console.log("terms", terms);
|
||||
let call = document.querySelector(id);
|
||||
let template = call.querySelector(".phrase");
|
||||
template.remove();
|
||||
let count = 0;
|
||||
while (true) {
|
||||
let nn = template.cloneNode(true);
|
||||
call.appendChild(nn);
|
||||
await make_phrase(nn, terms, 0.25);
|
||||
if (terms['actor'].length == 0 || terms['action'].length == 0 || terms['prefix'].length == 0 || terms['sort'].length == 0 || terms['media'].length == 0) {
|
||||
console.log("out of terms, stopping");
|
||||
break;
|
||||
}
|
||||
count += 1;
|
||||
if (limit > 0 && count>=limit) { break };
|
||||
await (sleep(1.0));
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue