Committing all changes before migrating servers
[tpope-extra.git] / perl / sct6
index 3682c398c32ea1b7d4d2eab32d069415d3fa1303..5295a0e162013cc46974dfbc54ab53c6eeb87520 100755 (executable)
--- a/perl/sct6
+++ b/perl/sct6
@@ -89,9 +89,20 @@ $ua = LWP::UserAgent->new;
 $ua->timeout(10);
 $ua->env_proxy;
 $ua->cookie_jar( {} );
-$ua->get("${url}twbkwbis.P_WWWLogin") or die "$!";
+$response = $ua->get("${url}twbkwbis.P_WWWLogin") or die "$!";
 $response = $ua->post("${url}twbkwbis.P_ValLogin", { sid => $opts{SID}, PIN => $opts{PIN} }) or die "$!";
 
+my %hiddenjunk;
+{
+    my $content = $response->content;
+    while($content =~ /<input type="hidden" name="(.*?)" value="(.*?)">/gi) {
+        $hiddenjunk{$1} = $2;
+    }
+}
+$hiddenjunk{usage_btn} = "Continue";
+$response = $ua->post("${url}twbkwbis.P_FirstMenu", \%hiddenjunk); 
+die $response->status_line unless $response->is_success;
+
 $response = $ua->get("${url}bwskflib.P_SelDefTerm"); # Valid terms
 die $response->status_line unless $response->is_success;
 my @terms = grep {s/^<option value="([^"]*)">.*/$1/i} (split( /\r?\n/, $response->content)); # "
@@ -347,7 +358,7 @@ sub do_xml_grades {
             };
         }
     }
-    $lastrow->[0] =~ s/Cumulative:? *through *//i;
+    $lastrow->[0] =~ s/Cumulative:? *through *//i if($lastrow->[0]);
     my $cumulative = { term => capitalize($lastrow->[0]),
                        gpa => $lastrow->[6],
                        earned => $lastrow->[3],