'."\n";
- print '', $showheaders[0];
- print ' | ', $showheaders[1];
- print ' | ';
- print join(' | ',@showheaders[2 .. 5]);
- print " |
\n";
foreach my $ts ($te->table_states) {
foreach my $row ($ts->rows) {
map { s/^\s+//; s/\xa0|\r//g; s/\n/
/g; $_} @$row;
$row->[1] = capitalize($row->[1]);
$row->[1] =~ s/&/&/g;
+ $row->[0] =~ s/Cumulative through/Cumulative: through/;
+ $row->[0] =~ s/Cumulative:(.*) (\d{4}) (.*)/Cumulative:$1 $3 $2/;
$lastrow=$row;
- next if $row->[0] =~ /:|Current Term|Cumulative/;
- print '';
- $shade = ($shade eq "dark"?"light":"dark");
- print '', $$row[0], ' | ';
- print '', $$row[1], ' | ';
- print '';
- #print join(' | ', @$row[0 .. 1]);
- print join(' | ', @$row[2 .. 5]);
- print " |
\n";
+ next if $row->[0] =~ /:|Current Term/;
+ push @grades, {
+ id => $row->[0],
+ title => $row->[1],
+ grade => $row->[2],
+ earned => $row->[3],
+ hours => $row->[4],
+ points => $row->[5]
+ };
}
}
- print '', capitalize($lastrow->[0]);
+ $lastrow->[0] =~ s/Cumulative:? *through *//i;
+ my $cumulative = { term => capitalize($lastrow->[0]),
+ gpa => $lastrow->[6],
+ earned => $lastrow->[3],
+ hours => $lastrow->[4],
+ points => $lastrow->[5]
+ };
+ my $xml = XMLout({class => [@grades], cumulative => $cumulative}, NoAttr => 1, RootName => 'grades');
+ print $xml;
+ return;
+ print ' |
', capitalize($lastrow->[0]);
#shift @$lastrow; shift @$lastrow;
print ' | ';
print $$lastrow[6];
@@ -641,19 +414,13 @@ sub do_transcripts {
}
if ($arg eq "-g") {
- do_html_grades(@ARGV);
-} elsif ($arg eq "-s") {
- do_html_schedule(@ARGV);
-} elsif ($arg eq "-m") {
- do_mhc_schedule(@ARGV);
-} elsif ($arg eq "-c") {
- do_csv_schedule(@ARGV);
-} elsif ($arg eq "-v") {
- do_vcalendar_schedule(@ARGV);
+ do_xml_grades(@ARGV);
} elsif ($arg eq "-t") {
do_transcripts;
} elsif ($arg eq "-f") {
do_faculty;
+} elsif ($arg eq "-x" || $arg eq "-s" || 1) {
+ do_xml_schedule(@ARGV);
}
$ua->get("$url&tserve_trans_config=alogout.cfg"); # Logout
|