From 34d84b9e1008e8a48994c84acccd49352db254c7 Mon Sep 17 00:00:00 2001 From: Thastertyn <60262101+Thastertyn@users.noreply.github.com> Date: Sat, 4 Mar 2023 10:49:32 +0100 Subject: [PATCH] Fixed crash when N is present in grades --- .vscode/launch.json | 4 ++-- .../java/xyz/thastertyn/Jecna/Znamky.java | 14 +++++++++++++- .../xyz/thastertyn/Window/Content/Rozvrh.java | 4 ++-- .../xyz/thastertyn/Window/Content/Znamky.java | 4 ++++ .../xyz/thastertyn/Window/MainWindow.java | 8 ++++++-- .../Window/WindowSwitchListener.java | 13 ++++++------- .../classes/xyz/thastertyn/Jecna/Znamky.class | Bin 5947 -> 6164 bytes .../thastertyn/Window/Content/Rozvrh.class | Bin 2652 -> 2736 bytes .../thastertyn/Window/Content/Znamky.class | Bin 4964 -> 5063 bytes .../xyz/thastertyn/Window/MainWindow.class | Bin 4008 -> 4222 bytes .../Window/WindowSwitchListener.class | Bin 5762 -> 5849 bytes 11 files changed, 33 insertions(+), 14 deletions(-) diff --git a/.vscode/launch.json b/.vscode/launch.json index 79763db..8fccd33 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -8,14 +8,14 @@ "type": "java", "name": "Launch Current File", "request": "launch", - "mainClass": "${file}" + "mainClass": "${file}", }, { "type": "java", "name": "Launch App", "request": "launch", "mainClass": "xyz.thastertyn.App", - "projectName": "jecnak-tui" + "projectName": "jecnak-tui", } ] } \ No newline at end of file diff --git a/src/main/java/xyz/thastertyn/Jecna/Znamky.java b/src/main/java/xyz/thastertyn/Jecna/Znamky.java index 6996cf1..59b0c4f 100644 --- a/src/main/java/xyz/thastertyn/Jecna/Znamky.java +++ b/src/main/java/xyz/thastertyn/Jecna/Znamky.java @@ -39,6 +39,11 @@ public class Znamky { int divisor = 0; for(Pair p : a) { + if(p.getValue0() == -1) + { + continue; + } + divident += p.getValue0() * p.getValue1(); divisor += p.getValue1(); } @@ -84,7 +89,14 @@ public class Znamky { break; } - int znamka = Integer.parseInt(znamkaElement.select("span.value").text()); + String zn = znamkaElement.select("span.value").text(); + int znamka; + if(zn.toLowerCase().equals("n") || zn.toLowerCase().equals("u")) + { + znamka = -1; + }else{ + znamka = Integer.parseInt(znamkaElement.select("span.value").text()); + } // Mala znamka se bude pocitat jako polovicni vaha if(znamkaElement.hasClass("scoreSmall")) diff --git a/src/main/java/xyz/thastertyn/Window/Content/Rozvrh.java b/src/main/java/xyz/thastertyn/Window/Content/Rozvrh.java index b8aeb0f..a023c73 100644 --- a/src/main/java/xyz/thastertyn/Window/Content/Rozvrh.java +++ b/src/main/java/xyz/thastertyn/Window/Content/Rozvrh.java @@ -15,8 +15,8 @@ public class Rozvrh extends JecnaContent { private xyz.thastertyn.Jecna.Rozvrh rozvrh = new xyz.thastertyn.Jecna.Rozvrh(); - //private String[] labels = {"Den", "7:30-8:15", "8:25-9:10", "9:20-10:05", "10:20-11:05", "11:15-12:00", "12:10-12:55", "13:05-13:50", "14:00-14:45", "14:55-15:40", "15:50-16:35"}; - private String[] labels = {"Den", "1.", "2.", "3.", "4.", "5.", "6.", "7.", "8.", "9.", "10."}; + private String[] labels = {"Den", "7:30-8:15", "8:25-9:10", "9:20-10:05", "10:20-11:05", "11:15-12:00", "12:10-12:55", "13:05-13:50", "14:00-14:45", "14:55-15:40", "15:50-16:35"}; + //private String[] labels = {"Den", "1.", "2.", "3.", "4.", "5.", "6.", "7.", "8.", "9.", "10."}; String[] days = {"PO", "UT", "ST", "CT", "PA"}; diff --git a/src/main/java/xyz/thastertyn/Window/Content/Znamky.java b/src/main/java/xyz/thastertyn/Window/Content/Znamky.java index acac87f..b12beec 100644 --- a/src/main/java/xyz/thastertyn/Window/Content/Znamky.java +++ b/src/main/java/xyz/thastertyn/Window/Content/Znamky.java @@ -48,6 +48,10 @@ public class Znamky extends JecnaContent { Label znamkaLabel = new Label(znamka.getValue0() + ""); switch(znamka.getValue0()) { + case -1: + znamkaLabel.setText("N"); + znamkaLabel.setTheme(new SimpleTheme(TextColor.ANSI.WHITE, TextColor.ANSI.BLACK)); + break; case 1: znamkaLabel.setTheme(new SimpleTheme(TextColor.ANSI.BLACK, TextColor.ANSI.GREEN)); break; diff --git a/src/main/java/xyz/thastertyn/Window/MainWindow.java b/src/main/java/xyz/thastertyn/Window/MainWindow.java index 33e2342..0762c38 100644 --- a/src/main/java/xyz/thastertyn/Window/MainWindow.java +++ b/src/main/java/xyz/thastertyn/Window/MainWindow.java @@ -4,6 +4,8 @@ import java.io.IOException; import java.util.Arrays; import com.googlecode.lanterna.TextColor; import com.googlecode.lanterna.gui2.BasicWindow; +import com.googlecode.lanterna.gui2.Border; +import com.googlecode.lanterna.gui2.Borders; import com.googlecode.lanterna.gui2.DefaultWindowManager; import com.googlecode.lanterna.gui2.Direction; import com.googlecode.lanterna.gui2.EmptySpace; @@ -51,14 +53,16 @@ public class MainWindow { window.setComponent(mainPanel); mainPanel.addComponent(new Separator(Direction.VERTICAL).setLayoutData(LinearLayout.createLayoutData(LinearLayout.Alignment.Fill))); + + String text = "Jecnak"; Panel content = new Panel(); - content.addTo(mainPanel); + mainPanel.addComponent(content.withBorder(Borders.singleLine(text))); Login login = new Login(); login.showDialog(textGUI); - window.addWindowListener(new WindowSwitchListener(content, login.getJessionId())); + window.addWindowListener(new WindowSwitchListener(content, login.getJessionId(), text)); textGUI.addWindowAndWait(window); diff --git a/src/main/java/xyz/thastertyn/Window/WindowSwitchListener.java b/src/main/java/xyz/thastertyn/Window/WindowSwitchListener.java index 4a70d2c..fe82502 100644 --- a/src/main/java/xyz/thastertyn/Window/WindowSwitchListener.java +++ b/src/main/java/xyz/thastertyn/Window/WindowSwitchListener.java @@ -4,7 +4,6 @@ import java.util.concurrent.atomic.AtomicBoolean; import com.googlecode.lanterna.TerminalPosition; import com.googlecode.lanterna.TerminalSize; -import com.googlecode.lanterna.gui2.Label; import com.googlecode.lanterna.gui2.Panel; import com.googlecode.lanterna.gui2.Window; import com.googlecode.lanterna.gui2.WindowBasedTextGUI; @@ -25,11 +24,11 @@ public class WindowSwitchListener implements WindowListener { private String JsessionId; Panel panel; - Label label; + String label; int current = 0; - public WindowSwitchListener(Panel holder, String JsessionId) + public WindowSwitchListener(Panel holder, String JsessionId, String label) { panel = holder; this.JsessionId = JsessionId; @@ -42,7 +41,7 @@ public class WindowSwitchListener implements WindowListener { contents[0].download(JsessionId); panel.removeAllComponents(); panel.addComponent(contents[0].getPanel()); - //label.setText(contents[0].getLabel()); + label = contents[0].getLabel(); } public void next() @@ -58,11 +57,11 @@ public class WindowSwitchListener implements WindowListener { { contents[current].download(JsessionId); } - + panel.removeAllComponents(); panel.addComponent(contents[current].getPanel()); - //label.setText(contents[current].getLabel()); + label = contents[current].getLabel(); } public void previous() @@ -81,7 +80,7 @@ public class WindowSwitchListener implements WindowListener { panel.removeAllComponents(); panel.addComponent(contents[current].getPanel()); - //label.setText(contents[current].getLabel()); + label = contents[current].getLabel(); } diff --git a/target/classes/xyz/thastertyn/Jecna/Znamky.class b/target/classes/xyz/thastertyn/Jecna/Znamky.class index 78c6ac40c17b3e2cffd4b90087d83744e4a76aba..0f1f0a0cfc2db95ba61cafcb9e72603e7f829013 100644 GIT binary patch delta 1665 zcmZXUYitx%6vuyOU$dRgZrfc-SqY^`ib$y?(lk;6h*gVPuu>YpsA0tlh0@wC1A5N9;VXOh1C=sjyLrZ3*vFd&2Zj6<$u-G}mSpR)iiXu4&8^EU-eRkeySlBeZEaIW zO)}LK=8zz*CVjkXahPdBsHwd(*^&x#L?xXj#T>QxfDi2pX6g8k1v9m@t)r=7RkEeU zq=#b`pYoXyUY<xS`E(bc-abx`L}?lNyk99Pp6%I#B;QhQ6(%u~Q$ve6R;!;-gSPjs)ZvYU|p zu--qzKeNoCt~%JuyhLyh^}+#0R|gUShp7iBc4+i%A=Jwh`}u+@dDT8rP@G=N<1`bX zP+i=NrQ-yA+@Q!rC18?{lPRNuIZR=Z?jB~U>Q|~&6+YVwBGAY9(Q1 z&c_;Bn67hx)vVH$UwzJ^mfI9*CXd!Mx9YM>RoZw=#~L*ssdLszyE@4l+^$+3iq0jF zAwtMN45dx<H+BYNio>)=N5+yJS@`!yrR__zbE{oTv z*CuiYDeS2>6Xqe8xK#-=w%_4(hXd7C!g6>c_O`=2o5{~^-qTGFIlih$FR@|W-Mn8F z(d|bLpY#x)R2WR;6h=nyxx?{ZqJ#T9-MMEzC~VGbvX92g(_ijpyu-=vpmc|%Fq8=F zfAPxs?Mj2+%hx)sbC^j`IW1tel2D`ByF)Wp%M6{hY^l?KKJ!>gy;3}%ZW?%sMqXnf zJ6X&w9^fDkagrsRCdnDi@Od6(faQ|Tp;;_eND+-Pj#g=;O%_onOKJBK|AMAaX&Xws zuD;fTg#u~d8+GMljMVZi-)X=TWG3HpR`YlxCH$bp5L8d2IOnbIl@T5m(m*fpqk1uD zORMk|e$ra%<`_RKn4@to=NEp}H+ql-{HBjFOQpmOg{0 z4Qzwo^{vJSG{(!68z{VOwoVxh%JNEMSTQYHB(8#vLj@H7pVn1M20dQs4N$5k!2zO@ z$Y`k7I=;$e$ZrnjHK&Ud51-COrYW(1=nZ|!0y_R_pDVmR-RUL5QW;8U_63UDOB9J{ zat!4rpt7z>JL&47J$9i^S8?qV^LklSKGY@V?xTNk*>3*X#lU2*UGzCziHlE1-B)NM z@z8unw410Ploh12k_tz{amiK8kw~3-^@{kVvTbpRZqw7V{iRqh>ppCQjY>+Iu{^;F zol`tXC!4&RlxVyf?chyJR!Y8CQe(LXw{K)ygnM5PsgweR++?d^MqfoB%VL(+ODu5d OR}x%$L}EJnB>o?zwNYCD delta 1419 zcma)*ZA_JA7{`D2d3)gD@qip&JP=4VkXNy6Ll}1fW|S@%H`v=c`?q$rZRzOkwHe|~hr=9kpU7BJ zFyRoTz{YUQVGTFi6!Naad%VBvXhxoiT6}HD+T8I-M{RFMUw3WWLtA_Lx-E|HI^~3n zecFJ<4~BeqBAjpAO!AY%<^1dxgsZZr`PCtVRW{T7?r?@b-1cxoIp+-ilE+GHvN-Q> zik)f9c+jJQrn%&KCJZ%hQMlAS5w^d9X=euGBA$`!}Z}K-+#c62> z4$~M7zC^2GjKYS1J2k(~jJcO(7stA|j~)W#>Ov*9{$==BB&1yRS5ik6t7Nybn09LA zeHGm-B~P9=sX{$NJ`1#Z)&r!8Fdz5Q%k^3VY+{Qnzhc#}nj3_)lSv=TWOd_frk@Ap zxI)+Sw5Ea#C`jtUO1W(nT82NtJVF-6B1>gk+zRz>S)?L8P1Vi=Q}5mpY4vf^eLm9K zwll8MY@&En8TykHZl*x?bp&Z(K8+O7tlXDT ztlkD`Pm16dh3@7y_K2c!?&27C^En$i$vvFb`588uSOuM? zn$_l7x{?|Urb?gFz|`}B9x}`~i};X_L}`&Jz|T0LFC^~u_^Pnm&H)B4Q41e38nKt z0;XgC$E%!^bcS#ER=lN4NS`=SYpL&zJ_x!Kc{#D3B=b%RnPuL1(<;Pk#Gtqi$a{O` zZgvdOpZ$G{tcWIY{V=!J%+2At{Y>9kwU;0F@Jn@^rDIIS`7Qgbe%jV*Qj=g-oIgGM z!WS97oA4n0JlI#K-JSC)&N0+CSNHl4G E0o2JMX#fBK diff --git a/target/classes/xyz/thastertyn/Window/Content/Rozvrh.class b/target/classes/xyz/thastertyn/Window/Content/Rozvrh.class index dec4b338cb16177b9c8350df3663257e837104b9..acffc400f1e20e05b63a57d9db1e2c7c2d3b9931 100644 GIT binary patch delta 181 zcmXBL!41MN429t&5+a2gf&sXq8rex)Qm@1Uy|GfIuEP>+z%yK|=*$1!=k>CV=`}p8 zGIbNp;TFTtttibVoWmHyVYb2~Y>e-F3`aa2JA6hJ}v#)Mv7!Vm(8i1v1F;sTCE!Wxd?FurT9PTyFqToRm7vsMz>^1_Z2 ddtNzm=ENIkE?ju$L#r-$*Is#gJ+#x@@&i_743Pi; diff --git a/target/classes/xyz/thastertyn/Window/Content/Znamky.class b/target/classes/xyz/thastertyn/Window/Content/Znamky.class index 360f92fcf12e7c1b7ba4855e96d3d04223ded74a..7b537cd5698673ee9892c9e16abc0db70d9d60b0 100644 GIT binary patch delta 1464 zcmZ`(ZBSHI7=F&V`*nBkCc6=_0nLgHtSJ!&CFPh)yRnSRA}c`@wXLu%8i6gWZ4zym zeQ9NSEzGsjYQ%Ah1a&t>jWRznQ|pI6=trZ|ucql^vOmoPz4rpmE;HSk_ug}#=Q-~= z&wJi`e=0gtY&z-|hB^h~ae!ZzzbS%KLy@0p66b zRRMI(Zm+klNr7Yu+Z9M(>#TPB8k`FDwuAu%6Z~$M2~~JU!cMf1rajp0Qw{E7$XXLz z7cA`vc7{t`UC~9WIzmPy@ScSCv75ov))ghFG1w6eQ6k5Dmk|McAfXK(GUPj4^SyGZ z_C|Syp*ZgohHPi2Jrs#_MeMYMy{ok~8VR-O@#(>BhM>T{k*}F5G?y6Ws`YY9Ny|m( zAOXU>TMwalK@w&1TywT;H!o$I7@NUnO2Xe{GakVXhMg0Cme>p`pi8204AtsAk;J=|;wWmGM-gaFA($)1 zlh~8Q<0-7T+mtKL8AzZgSIovoJ9eQUZLLgGgQ{dkyLXm0(`K)t-8-Y*H%q%Eo@QbY zb&7c3jClVnab_vzDcb#{{ok5srfZ^~s>weQ>V(3DN>!9Wi8_$S=j0W9O!k$xVK8bK zvyg=$Xt01z{xr3XHLD`-KshT#1-l=2vKlOAkD-#a;vTjhOIRP4vhBE+4Zz8UP{oGf zVrSuDmr%mSv7B8&ExU#~E}@?1V4cvo99>9aV2M_VhXyLo@C{H24Pa??2(Z;W$ zkpF@({|oJW0;}VK0Z#~KbO;u73WZp!w(3ThmHtKvZlkR#qXSSZ6!70MLfy}?i2s0t zG!o$9r*Mcy8rsA$97d8FKFoWO!e@kT<@Gp1PXjLFZyY5|#2@$(qc{c=ZQlDUj^hMG z@^BfSDtU12L1yUP{i{T=^TW0$gx?gp6 delta 1304 zcmZ`(ZA_C_7(Ms4ydUk`42v#QB-W4U5(T4ysVo|bbk%^M6-9K57U)2Spsk3CTHSPW z8`HV#rUG%sP4Qb>w<6%@oU*y?$A0KvjU$=AOpL#DneMqS*0d(3dHUY>oYUt%=iHn2 zj~^IkyY;O1GJrhXirVg{DJs@5Ocax?F0o0~M6Tjc!e~~pR(O;Nj&*2ZNGmG!%qn3J z0d=?-sp_Ir(cTPWgMp1E?elxRWhyo?WKo|?#{!?bKxt28Rx419!-#R9cD z62=Y#pUB@?i%J)Ib%e3gz-JOrs=TG8<&_fp!a$pZ)VUs?x2(b=v0VmsOU&Z;7TZyT zJqEtUd!(rkgv)~K*Q(gdkiIgoE---fhU}4wAC?ntcE5j)1&9vWYoYoIO zfdTNRVzOfi3y3zyDvo>NU&r*w_mnQ9N~0P}HIr&FRfww1W$(l4su)5sthZc3Yd1E> zv9+=b^-0Y36s9bR`80*eOJY7xFcGue@FeQX1VxNXbJ^qYSGsIH_==(Z`G_2sW&%na zi>|_Fev3H1nXdO?PE{Y4RdpkfsmF03jt{yqufU$Ezp<|a<1+Q3=-l6l?4+&8QzXe$ zm#ImJ556K!wb?4Q2NT*uuV_<^mrL!Tg!XWXc2*28voNC=BgKbF{Mt;cFEUXFGx@JW zWT)q5|3GGCGEsS&e1QLhqp)HEonkL?MSXgH#Em>Q75S_HQ`vk>V-+Z1AL1R>h#71L zX0n|qWZ$8fbs>jE;bRvthy9Kc_BZCT$0+AE%;O{B=WnBemtYaE#$w)rC43i_@^-w> zqgc*+Fq&US4gUkR{5FF8F6#II>iGk#jPNIDz(g8oI~?*ZA_uwjCRfLBoW{=P{Ww84 zm17Ez;Uujrn9VzJidI(4=K`m3hAwIy_v0+i5xR%Jg(y8W+`(Un5vJo2;y8~VVW;6A z;wO63$-*5Jc1w^Z8G;Mwp-p;eZ#Qi**tqXy zmW41x#F-^lIPId@xlKDdgoeL@tKyk+EL$U%XABe5GRCtOx$So%*7a_U*y8^i>bPSoAk617e+sRD|G!2M8HY& diff --git a/target/classes/xyz/thastertyn/Window/MainWindow.class b/target/classes/xyz/thastertyn/Window/MainWindow.class index c77f8932f5ac6349dffe19b86e957f4a201ccc10..d0461ea45d0ac7a30c3d8bcb926594b4ba5508c4 100644 GIT binary patch delta 698 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 HLaN~ZMHhtp literal 5762 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