From a4c8429c4825364d7dbac889e9cd690f2669f0ad Mon Sep 17 00:00:00 2001 From: Tim Pope Date: Sun, 21 Aug 2005 00:35:51 +0000 Subject: [PATCH] Actually works --- perl/schedproc | 40 +++++++++++++++++----------------------- 1 file changed, 17 insertions(+), 23 deletions(-) diff --git a/perl/schedproc b/perl/schedproc index b3bd248..a61b453 100755 --- a/perl/schedproc +++ b/perl/schedproc @@ -73,7 +73,7 @@ if(!defined($opts{'format'}) && defined($opts{'out'})) { $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'} ||= ""; @@ -165,6 +165,7 @@ sub read_fileurl { 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'}}; } @@ -174,21 +175,26 @@ sub get_grades { return $ref; } -sub get_faculty_email { - my ($name, $email, $url); - if((-f ($opts{'faculty'}||"")) && ! %faculty) { - open INS,$opts{'faculty'} or die $!; - while($_ = ) { - 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; @@ -197,20 +203,8 @@ sub get_faculty_email { } sub get_faculty_url { - my ($name, $email, $url); - if((-f ($opts{'faculty'}||"")) && ! %faculty) { - open INS, $opts{'faculty'} or die $!; - while($_ = ) { - 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; -- 2.30.2