--- trunk2/all2all.pl 2004/09/11 22:32:06 424 +++ trunk2/all2all.pl 2004/09/11 23:32:41 425 @@ -56,7 +56,7 @@ $webpac->open_import_xml(type => 'isis_hidra_ths'); -if(0) { # XXX +if(1) { # XXX while (my $rec = $webpac->fetch_rec) { @@ -202,9 +202,18 @@ lookup_v900 => sub { shift }, lookup_term => sub { shift @{$l->{"d:".$_[0]}} }, lookup_mfn => sub { shift @{$l->{"900_mfn:".$_[0]}} }, + have_children => sub { $l->{"a:".$_[2].":".$_[1]} }, + child_code => sub { return "a:".$_[2].":".$_[1] }, + style => 'display: none', + },{ + # 3 uži pojam + code_arr => sub { @{$l->{$_[0]}} }, + filter_code => sub { shift }, + lookup_v900 => sub { shift }, + lookup_term => sub { shift @{$l->{"d:".$_[1]}} }, + lookup_mfn => sub { shift @{$l->{"900_mfn:".$_[1]}} }, have_children => sub { 0 }, child_code => sub { 0 }, - }); unroll(0,''); @@ -236,11 +245,24 @@ $log->debug("$code -> $v900 : $term [$mfn]"); - print HTML " " x $level . - qq{
  • $term »
  • \n} if (-e "out/thes/$mfn.html"); + + my $have_children = $tree[$level]->{'have_children'}->($code,$v900,$start_code); + + my ($link_start,$link_end) = ('',''); + + ($link_start,$link_end) = (qq{},qq{}) if ($have_children); - unless ($tree[$level]->{'have_children'}->($code,$v900)) { - $log->warn("can't find children of $code at level $level"); + my $mfn_link = "thes/$mfn.html"; + if (-e "out/$mfn_link") { + print HTML " " x $level . + qq{
  • ${link_start}${term}${link_end}}. + qq{ »
  • \n}; + } else { + $log->warn("file 'out/$mfn_link' doesn't exist, skipping"); + } + + unless ($have_children) { + $log->warn("doesn't have_children($code,$v900,$start_code)"); next; } @@ -249,7 +271,7 @@ ($tree[$level]->{'style'} ? ' style="'.$tree[$level]->{'style'}.'"' : ''). qq{>\n}; - unroll($level+1, $tree[$level]->{'child_code'}->($code,$v900)); + unroll($level+1, $tree[$level]->{'child_code'}->($code,$v900,$start_code)); print HTML " " x $level . qq{\n}; @@ -263,6 +285,8 @@ }; +close(HTML); + $index->close; $log->info("elapsed time: ",$webpac->fmt_time(time() - $webpac->{'start_t'}));