Diff for /loncom/lonnet/perl/lonnet.pm between versions 1.71 and 1.73

version 1.71, 2000/11/27 20:44:04 version 1.73, 2000/11/28 02:48:25
Line 61 Line 61
 #                      an array of IDs  #                      an array of IDs
 # idrget(domain,array): returns hash with IDs for usernames (name=>id,...) for  # idrget(domain,array): returns hash with IDs for usernames (name=>id,...) for
 #                       an array of names  #                       an array of names
   # metadata(file,entry): returns the metadata entry for a file. entry='keys'
   #                       returns a comma separated list of keys
 #  #
 # 6/1/99,6/2,6/10,6/11,6/12,6/14,6/26,6/28,6/29,6/30,  # 6/1/99,6/2,6/10,6/11,6/12,6/14,6/26,6/28,6/29,6/30,
 # 7/1,7/2,7/9,7/10,7/12,7/14,7/15,7/19,  # 7/1,7/2,7/9,7/10,7/12,7/14,7/15,7/19,
Line 1475  sub EXT { Line 1477  sub EXT {
 sub metadata {  sub metadata {
     my ($uri,$what)=@_;      my ($uri,$what)=@_;
     $uri=&declutter($uri);      $uri=&declutter($uri);
     unless ($uri=~/\.meta$/) { $uri.='.meta'; }      my $filename=$uri;
       $uri=~s/\.meta$//;
     unless ($metacache{$uri.':keys'}) {      unless ($metacache{$uri.':keys'}) {
  my $metastring=&getfile($perlvar{'lonDocRoot'}.'/res/'.$uri);          unless ($filename=~/\.meta$/) { $filename.='.meta'; }
    my $metastring=&getfile($perlvar{'lonDocRoot'}.'/res/'.$filename);
         my $parser=HTML::TokeParser->new(\$metastring);          my $parser=HTML::TokeParser->new(\$metastring);
         my $token;          my $token;
         while ($token=$parser->get_token) {          while ($token=$parser->get_token) {
            if ($token->[0] eq 'S') {             if ($token->[0] eq 'S') {
       my $entry=$token->[1];        my $entry=$token->[1];
               my $unikey=$entry;                my $unikey=$entry;
               if ($token->[2]->{'part'}) {                 if (defined($token->[2]->{'part'})) { 
                  $unikey.='_'.$token->[2]->{'part'};                    $unikey.='_'.$token->[2]->{'part'}; 
       }        }
               if ($token->[2]->{'name'}) {                 if (defined($token->[2]->{'name'})) { 
                  $unikey.='_'.$token->[2]->{'name'};                    $unikey.='_'.$token->[2]->{'name'}; 
       }        }
               if ($metacache{$uri.':keys'}) {                if ($metacache{$uri.':keys'}) {
Line 1497  sub metadata { Line 1501  sub metadata {
       }        }
               map {                map {
   $metacache{$uri.':'.$unikey.'.'.$_}=$token->[2]->{$_};    $metacache{$uri.':'.$unikey.'.'.$_}=$token->[2]->{$_};
               } $token->[3];                } @{$token->[3]};
               $metacache{$uri.':'.$unikey}=$parser->get_text('/'.$entry);                $metacache{$uri.':'.$unikey}=$parser->get_text('/'.$entry);
           }            }
        }         }

Removed from v.1.71  
changed lines
  Added in v.1.73


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>