Librus Srednia

Liczy srednia wazona na librusie

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Greasemonkey 油猴子Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Userscripts ,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==UserScript==
// @version 1.6
// @name Librus Srednia
// @namespace https://greasyfork.org/pl/scripts/16170-librus-srednia/code/Librus%20Srednia.user.js
// @description Liczy srednia wazona na librusie
// @include https://synergia.librus.pl/przegladaj_oceny/uczen
// @author szonek
// @grant none
// ==/UserScript==  


javascript:(function()
{
	var pole=document.getElementsByClassName('decorated stretch')[1].children[1];
	
	// pierwszy semestr
	for (var i=0;i<pole.children.length-2;i+=2)
	{
		pole.children[i].children[3].innerHTML="";
		pole.children[i].children[7].innerHTML="";
		var srednia=0;
		var sumawag=0;
		var srednia1=0;
		var sumawag1=0;
		for(var j=0; j<pole.children[i].children[2].children.length;j++)
		{
			
			var string=pole.children[i].children[2].children[j].children[0].getAttribute("title");
			if(string[string.search("Licz do średniej: ")+18]=="t")
			{
				var waga=parseInt(string.substr(string.search("Waga: ")+5));
				var ocena=pole.children[i].children[2].children[j].children[0].innerHTML;
				var liczba=parseInt(ocena);
				if(ocena[1]=="+") liczba+=0.5;
				else  if(ocena[1]=="-") liczba-=0.25;
				srednia+=liczba*waga;
				sumawag+=waga;
			}
		}
		if(!isNaN(srednia/sumawag))pole.children[i].children[3].innerHTML=Math.round(srednia/sumawag*100)/100;
		else pole.children[i].children[3].innerHTML="-";
		srednia=0;
		sumawag=0;

		for(var j=0; j<pole.children[i].children[6].children.length;j++)
		{
			
			var string1=pole.children[i].children[6].children[j].children[0].getAttribute("title");
			if(string1[string1.search("Licz do średniej: ")+18]=="t")
			{
				var waga1=parseInt(string1.substr(string1.search("Waga: ")+5));
				var ocena1=pole.children[i].children[6].children[j].children[0].innerHTML;
				var liczba1=parseInt(ocena1);
				if(ocena1[1]=="+") liczba1+=0.5;
				else  if(ocena1[1]=="-") liczba1-=0.25;
				srednia1+=liczba1*waga1;
				sumawag1+=waga1;
			}
		}
		if(!isNaN(srednia1/sumawag1))pole.children[i].children[7].innerHTML=Math.round(srednia1/sumawag1*100)/100;
		else pole.children[i].children[7].innerHTML="-";
		srednia1=0;
		sumawag1=0;
	}
	

	//koniec roku
	
	for (var i=0;i<pole.children.length-2;i+=2)
	{
		pole.children[i].children[9].innerHTML="";
		var a=parseFloat(pole.children[i].children[3].innerHTML);
		var b=parseFloat(pole.children[i].children[7].innerHTML);
		if(isNaN(a)&&isNaN(b)) pole.children[i].children[9].innerHTML="-";
		else if(isNaN(a)) pole.children[i].children[9].innerHTML=b;
		else if(isNaN(b)) pole.children[i].children[9].innerHTML=a;
                else pole.children[i].children[9].innerHTML=Math.round((a+b)*50)/100;
	}
})();