@@ -76,6 +76,7 @@ function main_page () {
7676 const student_name = document . querySelector ( '#userName' ) . querySelector ( 'span' ) . innerText ;
7777 let second_semester = false ;
7878 const courses = [ ] ;
79+ const courses_first_semester = [ ] ;
7980 const $grade_rows = $ ( '#quickLookup table.grid' ) . find ( 'tr' ) ;
8081 let s1col = 0 ;
8182 let s2col = 0 ;
@@ -97,6 +98,32 @@ function main_page () {
9798 curr += parseInt ( e . getAttribute ( 'colspan' ) ) || 1 ;
9899 } ) ;
99100 }
101+ if ( second_semester ) {
102+ $ . ajax ( {
103+
104+ url : "https://powerschool.sas.edu.sg/guardian/termgrades.html" ,
105+
106+ } ) . done ( function ( data ) {
107+ const el = document . createElement ( "html" ) ;
108+ let element_list = [ ] ;
109+ el . innerHTML = data ;
110+ element_list = el . getElementsByClassName ( "box-round" ) [ 0 ] . getElementsByTagName ( "table" ) [ 0 ] ;
111+ element_list = element_list . getElementsByTagName ( "tbody" ) [ 0 ] . getElementsByTagName ( "tr" ) ;
112+ if ( element_list . length > 2 ) {
113+ for ( let i = 2 ; i < element_list . length ; i ++ ) {
114+ const $prev_course = element_list [ i ] ;
115+ courses_first_semester . push ( {
116+ name : $prev_course . getElementsByTagName ( "td" ) [ 0 ] . textContent . trim ( ) ,
117+ grade : $prev_course . getElementsByTagName ( "td" ) [ 1 ] . textContent . trim ( ) ,
118+ link : $prev_course . getElementsByTagName ( "td" ) [ 2 ] . innerHTML . trim ( ) . split ( 'href="' ) [ 1 ] . split ( "&" ) [ 0 ] ,
119+ fp : - 1 ,
120+
121+ } ) ;
122+ }
123+ $ ( "table[border='0'][cellpadding='3'][cellspacing='1'][width='100%']" ) . prepend ( `<tr><td align="center">Last Semester GPA (S1): ${ calculate_gpa ( courses_first_semester ) } </td></tr>` ) ;
124+ }
125+ } ) ;
126+ }
100127 for ( let i = 0 ; i < $grade_rows . length ; i ++ ) {
101128 let $course ;
102129 if ( second_semester ) {
0 commit comments