--- trunk2/all2all.pl 2004/10/09 21:44:25 490 +++ trunk2/all2all.pl 2004/10/19 17:43:52 530 @@ -32,6 +32,20 @@ "low_mem!" => \$low_mem, ); +my $filter = { + 'CROVOC' => sub { + my $tmp = shift || return; + return undef unless ($tmp =~ s/\s*CROVOC.*$/ */); + return $tmp; + }, + 'CROVOC_tree' => sub { + my $tmp = shift || return; + $tmp =~ s/\s*CROVOC.*$/ */; + $tmp =~ s/\s*EUROVOC.*//; + return $tmp; + }, +}; + # create WebPAC object # my $webpac = new WebPAC( @@ -40,6 +54,7 @@ start_mfn => $start_mfn, debug => $debug, low_mem => $low_mem, + filter => $filter, ) || die; my $log = $webpac->_get_logger() || die "can't get logger"; @@ -58,7 +73,7 @@ my $maxmfn = $webpac->open_isis( filename => shift @ARGV || '/data/hidra/THS/THS', lookup => [ - { 'key' => 'd:v900', 'val' => 'v250^a' }, + { 'key' => 'd:v900', 'val' => 'filter{CROVOC_tree}v250^a v800' }, # { 'eval' => '"v901^a" eq "Područje"', 'key' => 'pa:v561^4:v562^4:v461^1', 'val' => 'v900' }, # { 'eval '=> '"v901^a" eq "Mikrotezaurus"', 'key' => 'a:v561^4:v562^4:v461^1', 'val' => 'v900' }, # { 'eval' => '"v901^a" eq "Deskriptor"', 'key' => 'a:v561^4:v562^4:v461^1', 'val' => 'v900' }, @@ -123,11 +138,18 @@ $words =~ s/\W*\s+\W*/ /g; $words =~ s/\W+$//; + # first try to generate headline for this entry from index + my $h = $ds->{'index'}->[0]; + # then, from display + $h ||= $ds->{'display'}->[0]; + # and as last resport, fallback to headline + $h ||= $headline; + $index->insert( index_name => $ds->{'tag'}, #path => $f, path => $webpac->mfn, - headline => $headline, + headline => $h, words => $words, ); } @@ -136,7 +158,7 @@ foreach my $ds (@ds) { next if (! $ds->{'index'}); - $thes->{$ds->{'tag'}} ||= new WebPAC::Index; + $thes->{$ds->{'tag'}} ||= new WebPAC::Index( name => $ds->{'tag'} ); foreach my $h (@{$ds->{'index'}}) { $thes->{$ds->{'tag'}}->insert( @@ -179,7 +201,7 @@ } # XXX if(0) -$log->debug("lookup hash: ",Dump($webpac->{'lookup'})); +#$log->debug("lookup hash: ",Dump($webpac->{'lookup'})); $log->info("creating tree"); @@ -288,13 +310,24 @@ }); my $tree = new WebPAC::Tree( - dir => './out', - html => 'browse.html', + tree => \@tree, +); + +$tree->output( + dir => './out', + html => 'browse.html', template => './output_template/tree.tt', js => 'tree-ids.js', - tree => \@tree, ); +$tree->output( + dir => './eurovoc', + html => 'hijerarhija.html', + template => './output_template/hijerarhija.tt', + js => 'tree-ids.js', +); + + $log->info("closing index"); $index->close;