'."\n";
- print $showheaders[0], ' | ';
- print join(' | ',@showheaders[1 .. 5]);
- print " |
\n";
foreach my $ts ($te->table_states) {
foreach my $row ($ts->rows) {
- map { s/\xa0//g; s/\n/
/g; $_} @$row;
+ 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] =~ /:/;
- print '';
- print $$row[0], ' | ', $$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 ' | ';
print $$lastrow[6];
- print ' | ';
- print join(' | ', @$lastrow[3 .. 5]);
+ print ' | ';
+ print join(' | ', @$lastrow[3 .. 5]);
print " |
\n";
print "
\n";
}
@@ -632,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