--- trunk2/all2all.pl 2004/09/08 15:30:07 415 +++ trunk2/all2all.pl 2004/09/13 15:32:55 437 @@ -9,22 +9,43 @@ use strict; use Data::Dumper; use Carp; +use Getopt::Long; use lib './lib'; use WebPAC; use WebPAC::jsFind; use WebPAC::Index; +# options which can be changed via command line +# +my $code_page = 'ISO-8859-2'; +my ($limit_mfn, $start_mfn, $debug, $low_mem); +my $index_path = './out/index'; + +my $result = GetOptions( + "code_page=s" => \$code_page, + "limit_mfn=i" => \$limit_mfn, + "start_mfn=i" => \$start_mfn, + "debug!" => \$debug, + "low_mem!" => \$low_mem, +); + +# create WebPAC object +# my $webpac = new WebPAC( - code_page => 'ISO-8859-2', - limit_mfn => 500, -# debug => 1, + code_page => $code_page, + limit_mfn => $limit_mfn, + start_mfn => $start_mfn, + debug => $debug, + low_mem => $low_mem, ) || die; -my $log = $webpac->_get_logger(); +my $log = $webpac->_get_logger() || die "can't get logger"; + +$log->debug("creating WebPAC::jsFind object"); my $index = new WebPAC::jsFind( - index_path => './out/index', + index_path => $index_path, keys => 10, ) || die; @@ -41,13 +62,20 @@ # { 'eval' => '"v901^a" eq "Deskriptor"', 'key' => 'a:v561^4:v562^4:v461^1', 'val' => 'v900' }, { 'key' => 'a:v561^4:v562^4:v461^1', 'val' => 'v900' }, { 'key' => '900_mfn:v900', 'val' => 'v000' }, + # tree structure + { 'eval' => 'length("v251") == 2', 'key' => 'root:v251', 'val' => 'v900' }, + { 'eval' => '"v251"', 'key' => 'code:v900', 'val' => 'v561^4:v251' }, ], ); +$log->debug("isis file ",$webpac->{'isis_filename'}," opened"); + $log->info("rows: $maxmfn"); $webpac->open_import_xml(type => 'isis_hidra_ths'); +if(1) { # XXX + while (my $rec = $webpac->fetch_rec) { my @ds = $webpac->data_structure($rec); @@ -59,7 +87,7 @@ next if (! @ds); - my $filename = $webpac->{'current_filename'}; + my $filename = $webpac->{'current_filename'} || $log->logdie("no current_filename in webpac object"); if ($filename) { $webpac->output_file( @@ -138,5 +166,273 @@ } } +} # XXX if(0) + +$log->debug("lookup hash: ",Dumper($webpac->{'lookup'})); + +# +# tree dump implementation which shouldn't be here :-) +# + + +my $file = 'out/browse.html'; +my $js_url = 'tree-ids.js'; + +$log->info("creating '$file' for tree html"); +open(HTML, "> $file") || $log->logdie("can't open '$file'"); + +print HTML qq{ + + + Browse + + + + + + + + + + search | + thesarus | + browse + + +
+Folding: +
+« default » +
+reset +all +none +
+debug + +outline +
+ + + + +}; + +close(HTML); + + +my $js_file = "out/$js_url"; +$log->info("creating '$js_file' with arrays of shown and hidden ids"); +open(JS, ">", $js_file) || $log->logdie("can't open '$js_file': $!"); +print JS "var show = ['",join("','",@show_ids),"'];\n"; +print JS "var hide = ['",join("','",@hide_ids),"'];\n"; +close(JS); + +$log->info("closing index"); $index->close; +$log->info("elapsed time: ",$webpac->fmt_time(time() - $webpac->{'start_t'}));