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); |
} |
} |
} |
} |