Further work on MHC interface
authorTim Pope <code@tpope.net>
Wed, 11 Aug 2004 05:01:34 +0000 (05:01 +0000)
committerTim Pope <code@tpope.net>
Wed, 11 Aug 2004 05:01:34 +0000 (05:01 +0000)
bin/away-detect
perl/sctweb

index 1d7575b0c612fc5553e0bd68c5806134a094ba29..72d83ff3c04d700173886d10ad66de4cf3d6eaab 100755 (executable)
@@ -69,28 +69,30 @@ set_active() {
 
 now="$(expr 60 \* $(date +%H) + $(date +%M))"
 
-today --category='!school' | sed -e s/^..........//|grep '[0-9][0-9]:[0-9][0-9]-[0-9][0-9]:[0-9][0-9]'| \
+if today --category='holiday' | ! grep '' >/dev/null; then
+today --category='school' | sed -e s/^..........//|grep '[0-9][0-9]:[0-9][0-9]-[0-9][0-9]:[0-9][0-9]'| \
 while read times event; do
     begin="$(expr 60 \* $(echo $times|sed -e 's/-.*//' -e 's/:/ + /g'))"
     end="$(expr 60 \* $(echo $times|sed -e 's/.*-//' -e 's/:/ + /g'))"
     max_end="$end"
+    begin="`expr $begin - 15`"
+    end="`expr $begin / 2 + $end / 2`"
     if [ "$begin" -le "$now" -a "$now" -lt "$end" ]; then
-       echo "scheduled=\"$event\"" > "$HOME/.away-smart"
+       echo "scheduled=\"Class ($event)\"" > "$HOME/.away-smart"
        break
     elif [ "$old_away" = "$event" -a "$now" -gt "$max_end" ]; then
        echo "old_smart=\"$old_away\"" > "$HOME/.away-smart"
     fi
 done
+fi
 
-today --category='school' | sed -e s/^..........//|grep '[0-9][0-9]:[0-9][0-9]-[0-9][0-9]:[0-9][0-9]'| \
+today --category='!school' | sed -e s/^..........//|grep '[0-9][0-9]:[0-9][0-9]-[0-9][0-9]:[0-9][0-9]'| \
 while read times event; do
     begin="$(expr 60 \* $(echo $times|sed -e 's/-.*//' -e 's/:/ + /g'))"
     end="$(expr 60 \* $(echo $times|sed -e 's/.*-//' -e 's/:/ + /g'))"
     max_end="$end"
-    begin="`expr $begin - 15`"
-    end="`expr $begin / 2 + $end / 2`"
     if [ "$begin" -le "$now" -a "$now" -lt "$end" ]; then
-       echo "scheduled=\"Class ($event)\"" > "$HOME/.away-smart"
+       echo "scheduled=\"$event\"" > "$HOME/.away-smart"
        break
     elif [ "$old_away" = "$event" -a "$now" -gt "$max_end" ]; then
        echo "old_smart=\"$old_away\"" > "$HOME/.away-smart"
index 878bcd7aed7c433f0576b8f69cda9dec431991ea..7c6f23ea7280b08f616feed7c024eb97cb103072 100755 (executable)
@@ -75,7 +75,7 @@ sub get_schedule_terms {
 }
 
 sub do_mhc_schedule {
-    my @readheaders = ("Section ID/Title", "Days", "Time", "Start/EndDates");
+    my @readheaders = ("Section ID/Title", "Days", "Time", "Start/EndDates", "Site/Building/Room");
     my %days = (M => "Mon", T => "Tue", W => "Wed", R => "Thu", F => "Fri", S => "Sat");
     my $te = new HTML::TableExtract( headers => [ @readheaders ] );
     my (@terms, $row);
@@ -101,12 +101,15 @@ sub do_mhc_schedule {
                $row->[2] =~ s/PM$//;
            } else { $row->[2] =~ s/AM$//; }
            $row->[3] =~ s/(\d\d)-(\d\d)-(\d\d)/20$3$1$2/g;
+           $row->[4] =~ s/ON CAMPUS-//g;
+           $row->[4] =~ s/-/ /g;
            print "\n";
            print "X-SC-Subject: ", $row->[0], "\n";
            print "X-SC-Category: School\n";
            print "X-SC-Cond:", $row->[1], "\n"; # Space after colon not needed
            print "X-SC-Time: ", $row->[2], "\n";
            print "X-SC-Duration: ", $row->[3], "\n";
+           print "X-SC-Location: ", $row->[4], "\n";
        }
     }
 }