вівторок, 28 березня 2023 р.

Імпорт оцінок з Google-класу до електронного журналу NZ.UA

Вітаю. Якщо Ви коритсуєтеся Google Classroom, ставите учням туди оцінки, а потім переносите їх до електронного журналу на https://nz.ua/ - то можете скористатися цими двома скриптами для автоматизації процесу. Скрипти можна отримати під відео.

ВАМ ДОПОМОГЛА МОЯ РОЗРОБКА?
Перекажіть довільну суму, частина з якої піде на потреби ЗСУ!

ЗРОБИТИ ПОЖЕРТВУ (Банка Monobank)


Скрипт для отримання оцінок (ДОЧИТАЙТЕ ДО КІНЦЯ)

Скопіюйте цей код, відкрийте сторінку із Оцінками курсу, далі відкрийте інструменти розробника (F12) та вставте цей код у Console і натисніть Enter. Або, створіть сніпети, як показано на відео нижче. Робота зі сніпетами показана у першому відео.

console.clear();let oznum=parseInt(prompt("Який по рахунку стовпець з оцінками потрібно залишити?")),table=document.getElementsByTagName("table"),tbody=table[0];const rows=tbody.children[1].children;let sdata={},ozinki="",tds=rows;for(let t=0;t<tds.length;t++){if(void 0!==rows[t]){let o=rows[t].children,i=o[0].innerText;ozinki=ozinki+i+": ",sdata[i]=[];for(let n=1;n<o.length-1;n++){let t=o[n].innerText.split("\n");1<t.length&&(t=t[1].split("/"),oznum==n)&&(0<parseInt(t[0])?(ozinki=ozinki+t[0]+", ",sdata[i].push(t[0])):(ozinki=ozinki+0+", ",sdata[i].push(0)))}sdata[i]}ozinki=""}navigator.clipboard.writeText(JSON.stringify(sdata)).then(function(){console.log("Успішно скопійовано у буфер обміну: "+JSON.stringify(sdata))},function(){console.error("Не вдалося скопіювати текст у буфер обміну")}),console.log(JSON.stringify(sdata));


Скрипт для виставлення оцінок

function setoz(n,r){console.clear(),document.querySelector("#journalList").querySelectorAll("tr").forEach((c,e)=>{setTimeout(()=>{var e,l,t,o=c.cells[1].textContent.trim();for(e in r)e.split(" ").sort().join(" ")===o.split(" ").sort().join(" ")&&0<(l=r[e][0])&&((t=c.cells[n].querySelector("input")).value=l,$(t).trigger("change"))},300*e)})}const cells=document.querySelectorAll("td");let ozinki;function handleCellClick(e){e=e.target.cellIndex;console.log("Номер стовпця: "+e),setoz(e,ozinki),cells.forEach(e=>{e.removeEventListener("click",handleCellClick)})}try{ozinki=JSON.parse(prompt("Вставте сюди дані з оцінками")),cells.forEach(e=>{e.addEventListener("click",handleCellClick)})}catch(e){console.log("Invalid JSON string")}

Як додати сніпети (фрагменти) зі скриптами до браузера, дивіться на відео нижче.



Код скриптів вставлено за допомогою сервісу http://hilite.me/

Є покращена версія!

Знайшлися ентузіасти, які доробили скрипти так, щоб можна було просто кнопками обирати потрібні пункти.

Деталі на https://t.me/classroom_nz
Завантажити скрипти можна https://github.com/shatVM/marks там же є і відео-інструкція.


Немає коментарів:

Дописати коментар