return $id;
}
+sub off_for_holidays {
+ $_[3] =~ /(\d\d\d\d)(\d\d)(\d\d)-(\d\d\d\d)(\d\d)(\d\d)/;
+ my $days = (timegm(0,0,0,$6,$5-1,$4) - timegm(0,0,0,$3,$2-1,$1))/3600/24;
+ my @firstday = localtime timelocal(0,0,0,$3,$2-1,$1);
+ my $firstday = sprintf("%04d%02d%02d",($firstday[5]+1900),($firstday[4]+1),$firstday[3]);
+ open(HOLIDAY, "today --category=holiday --date=$firstday+$days|") or return undef;
+ my @holidays=();
+ while(<HOLIDAY>) {
+ /^(\d\d)\/(\d\d) /;
+ push @holidays, "!".($firstday[5]+1900).$1.$2;
+ }
+ return wantarray ? @holidays : "@holidays";
+}
+
sub off_for_exams {
$_[3] =~ /\d{8}-(\d\d\d\d)(\d\d)(\d\d)/;
my @finalday = localtime timelocal(0,0,0,$3,$2-1,$1);
$row->[4] =~ s/ON CAMPUS-//g;
$row->[4] =~ s/-/ /g;
my $day = off_for_exams(@$row);
+ if(defined($day)) {
+ $day .= " ".off_for_holidays(@$row);
+ } else {
+ $day = off_for_holidays(@$row);
+ }
print "\n";
print "# $id\n";
print "X-SC-Subject: ", $row->[0], "\n";
print "X-SC-Cond: ", $row->[1], "\n";
print "X-SC-Time: ", $row->[2], "\n";
print "X-SC-Duration: ", $row->[3], "\n";
- print("X-SC-Day: ", $day, "\n") if(defined($day));
+ print("X-SC-Day: ", $day, "\n") if(defined($day) && $day);
print "X-SC-Location: ", $row->[4], "\n";
}
}