$opts{'format'} = $opts{'out'};
$opts{'format'} =~ s/.*\.//;
$opts{'format'} =~ s/^(.*\/|)\.?schedule$/mhc/;
- undef $opts{'out'} if($opts{'out'} =~ /^(html|mhc|csv|cvs|xml|grades)$/);
+ undef $opts{'out'} if($opts{'out'} =~ /^(html|mhc|csv|vcs|xml|grades)$/);
}
$opts{'format'} ||= "";
sub get_schedule {
my $content = read_fileurl($opts{'schedule'});
my $ref = XMLin($content, ForceArray => [ 'class', 'off' ], KeyAttr => "");
+ die "Could not load schedule.\n" unless $ref->{'class'};
return @{$ref->{'class'}};
}
return $ref;
}
-sub get_faculty_email {
- my ($name, $email, $url);
- if((-f ($opts{'faculty'}||"")) && ! %faculty) {
- open INS,$opts{'faculty'} or die $!;
- while($_ = <INS>) {
- chomp;
+sub load_faculty {
+ my ($name, $email, $url, $content);
+ if(($opts{'faculty'}) && ! %faculty) {
+ $content = read_fileurl($opts{'faculty'});
+ foreach $_ (split("\n", $content)) {
m/"([^"]*)",([^,]*),([^,]*)/; # "
($name, $email, $url) = ($1, $2, $3);
+ next unless ($name);
$name =~ s/ [A-Z]\.//g;
$name = lc $name;
$name =~ s/\W//g;
- $faculty{$name} = $email;
- $facurul{$name} = $urll;
+ $faculty{$name} = $email if($email);
+ $facurl{$name} = $url if ($url);
}
}
+}
+
+sub get_faculty_email {
+ load_faculty();
+ my ($name);
$name = shift;
$name =~ s/ [A-Z]r?\.//g;
$name = lc $name;
}
sub get_faculty_url {
- my ($name, $email, $url);
- if((-f ($opts{'faculty'}||"")) && ! %faculty) {
- open INS, $opts{'faculty'} or die $!;
- while($_ = <INS>) {
- chomp;
- m/"([^"]*)",([^,]*),([^,]*)/; # "
- ($name, $email, $url) = ($1, $2, $3);
- $name =~ s/ [A-Z]\.//g;
- $name = lc $name;
- $name =~ s/\W//g;
- $faculty{$name} = $email;
- $facurl{$name} = $url;
- }
- }
+ load_faculty();
+ my ($name);
$name = shift;
$name =~ s/ [A-Z]r?\.//g;
$name = lc $name;