--- trunk/run.pl 2005/11/20 20:13:39 74 +++ trunk/run.pl 2005/12/05 17:46:57 209 @@ -9,34 +9,45 @@ use WebPAC::Lookup; use WebPAC::Input::ISIS; -use WebPAC::DB; +use WebPAC::Store 0.03; use WebPAC::Normalize::XML; use WebPAC::Output::TT; use WebPAC::Output::Estraier; +use YAML qw/LoadFile/; + +my $limit = shift @ARGV; + +my $config = LoadFile('conf/config.yml'); + +print "config = ",Dumper($config); + +my $type = lc($config->{input}->{type}); + +die "I know only how to handle input type isis, not '$type'!\n" unless ($type eq 'isis'); my $abs_path = abs_path($0); $abs_path =~ s#/[^/]*$#/#; -my $isis_file = '/data/isis_data/ps/LIBRI/LIBRI'; - my $lookup = new WebPAC::Lookup( - lookup_file => "$abs_path/conf/lookup/isis.pm", + lookup_file => $config->{input}->{lookup}, ); + + my $isis = new WebPAC::Input::ISIS( - code_page => 'ISO-8859-2', # application encoding - limit_mfn => 50, + code_page => $config->{webpac}->{webpac_encoding}, + limit_mfn => $config->{input}->{limit}, ); my $maxmfn = $isis->open( - filename => $isis_file, - code_page => '852', # database encoding + filename => $config->{input}->{path}, + code_page => $config->{input}->{encoding}, # database encoding ); my $path = './db/'; -my $db = new WebPAC::DB( - path => $path, +my $db = new WebPAC::Store( + path => $config->{webpac}->{db_path}, ); my $n = new WebPAC::Normalize::XML( @@ -47,23 +58,24 @@ ); $n->open( - tag => 'isis', - xml_file => "$abs_path/conf/normalize/isis_ffzg.xml", + tag => $config->{normalize}->{tag}, + xml_file => $config->{normalize}->{path}, ); my $out = new WebPAC::Output::TT( - include_path => "$abs_path/conf/output/tt", + include_path => $config->{webpac}->{template_path}, filters => { foo => sub { shift } }, ); my $est = new WebPAC::Output::Estraier( - url => 'http://localhost:1978/node/webpac2', - user => 'admin', - passwd => 'admin', - database => 'ps', + %{ $config->{hyperestraier} } ); -while (my $row = $isis->fetch) { +my $total_rows = 0; + +for ( 0 ... $isis->size ) { + + my $row = $isis->fetch || next; my $mfn = $row->{'000'}->[0] || die "can't find MFN"; @@ -71,26 +83,32 @@ # print STDERR Dumper($row, $ds); - my $html = $out->apply( - template => 'html_ffzg.tt', - data => $ds, - ); - - # create test output - - my $file = sprintf('out/%02d.html', $mfn ); - open(my $fh, '>', $file) or die "can't open $file: $!"; - print $fh $html; - close($fh); - - $html =~ s#\s*[\n\r]+\s*##gs; - +# my $html = $out->apply( +# template => 'html_ffzg.tt', +# data => $ds, +# ); +# +# # create test output +# +# my $file = sprintf('out/%02d.html', $mfn ); +# open(my $fh, '>', $file) or die "can't open $file: $!"; +# print $fh $html; +# close($fh); +# +# $html =~ s#\s*[\n\r]+\s*##gs; +# # print STDERR $html; $est->add( id => $mfn, ds => $ds, - type => 'search', + type => $config->{hyperestraier}->{type}, ); + $total_rows++; + }; + +my $log = $lookup->_get_logger; + +$log->info("$total_rows records indexed");