# you can specify methods from WebPAC here also!
#log4perl.logger.main=INFO
-#log4perl.logger.main=DEBUG
+log4perl.logger.main=DEBUG
#log4perl.logger.WebPAC=DEBUG
marc('777','v',
lookup(
- sub { 'ffkk/perl' . rec('000') },
+ sub { 'ffkk/peri' . rec('000') },
'ffkk','peri',
sub { rec('11') }
) ||
lookup(
- sub { 'ffkk/perl' . rec('000') },
+ sub { 'ffkk/peri' . rec('000') },
'ffkk','peri',
sub { first(rec(200,'a')) . ' ' . first(rec('200','e')) },
) ||
lookup(
- sub { "ffkk/perl" . rec('000') },
+ sub { "ffkk/peri" . rec('000') },
'ffkk','peri',
sub { rec(200,'a') },
sub { rec(900,'x') },
Save value into lookup.
- save_into_lookup($key,sub {
+ save_into_lookup($database,$input,$key,sub {
# code which produce one or more values
});
=cut
sub save_into_lookup {
- my ($k,$coderef) = @_;
- die "save_into_lookup needs key" unless defined($k);
+ my ($database,$input,$key,$coderef) = @_;
+ die "save_into_lookup needs database" unless defined($database);
+ die "save_into_lookup needs input" unless defined($input);
+ die "save_into_lookup needs key" unless defined($key);
die "save_into_lookup needs CODE" unless ( defined($coderef) && ref($coderef) eq 'CODE' );
my $mfn = $rec->{'000'}->[0] || die "mfn not defined or zero";
foreach my $v ( $coderef->() ) {
- $lookup->{$k}->{$v}->{$mfn}++;
- warn "# lookup $k $v $mfn saved\n" if ($debug > 1);
+ $lookup->{$database}->{$input}->{$key}->{$v}->{$mfn}++;
+ warn "# saved lookup $database/$input/$key [$v] $mfn\n"; #if ($debug > 1);
}
}
$log->debug("key = $key");
- my $create = "save_into_lookup('$key', $e[7] $e[8] );\n";
-
- $log->debug("create: $create");
-
return $self->_lookup_error("invalid database $e[3] in $path" ) unless $self->valid_database( $e[3] );
return $self->_lookup_error("invalid input $e[5] of database $e[3] in $path", ) unless $self->valid_database_input( $e[3], $e[5] );
+ my $create = qq{
+ save_into_lookup($e[3],$e[5],'$key', $e[7] $e[8] );
+ };
+
+ $log->debug("create: $create");
+
# save code to create this lookup
$self->{_lookup_create}->{ _q($e[3]) }->{ _q($e[5]) } .= $create;
$self->{_lookup_create_key}->{ _q($e[3]) }->{ _q($e[5]) }->{ _q($key) }++;
my $lookup_data = WebPAC::Normalize::_get_lookup();
- $log->debug("created following lookups: ", dump( $lookup_data ));
+ if (defined( $lookup_data->{$database}->{$input_name} )) {
+ $log->debug("created following lookups: ", dump( $lookup_data ));
- foreach my $key (keys %$lookup_data) {
- $store->save_lookup( $database, $input_name, $key, $lookup_data->{$key} );
+ foreach my $key (keys %{ $lookup_data->{$database}->{$input_name} }) {
+ $store->save_lookup( $database, $input_name, $key, $lookup_data->{$database}->{$input_name}->{$key} );
+ }
}
my $report_fh;