--- trunk/lib/WebPAC/Store.pm 2006/09/26 12:47:52 714 +++ trunk/lib/WebPAC/Store.pm 2006/09/26 14:07:20 716 @@ -14,11 +14,11 @@ =head1 VERSION -Version 0.11 +Version 0.12 =cut -our $VERSION = '0.11'; +our $VERSION = '0.12'; =head1 SYNOPSIS @@ -215,9 +215,7 @@ ds => $ds, ); -B - -Depends on filename generated by C. +C and C are optional. =cut @@ -258,8 +256,52 @@ } +=head2 load_lookup + +Loads lookup hash from file + + $data = $db->load_lookup( + database => $database, + input => $input, + key => $key, + ); + +C is optional. + +=cut + +sub load_lookup { + my $self = shift; + my $args = {@_}; + + my $log = $self->_get_logger; + + foreach my $r (qw/input key/) { + $log->logconfess("need '$r'") unless defined($args->{$r}); + } + + my $database = $args->{database} || $self->{database} || $log->logconfess("no database?"); + + my $path = $self->{path} . "/lookup/$database/" . $args->{input} . '/' . $args->{key}; + + if (! -e $path) { + $log->warn("lookup $path doesn't exist, skipping"); + return; + } + + if (my $data = retrieve($path)) { + $log->info("loaded lookup $path"); + return $data; + } else { + $log->logwarn("can't load lookup $database/", $args->{input}, "/", $args->{key}, " from $path: $!"); + return undef; + } +} + =head2 save_lookup +Save lookup data to file. + $db->save_lookup( database => $database, input => $input, @@ -267,6 +309,8 @@ data => $lookup, ); +C is optional. + =cut sub save_lookup { @@ -291,7 +335,7 @@ $log->info("saved lookup $path"); return 1; } else { - $log->logwarn("can't store lookup $database/", $args->{input}, "/", $args->{key}, " in $path: $!"); + $log->logwarn("can't save lookup $database/", $args->{input}, "/", $args->{key}, " in $path: $!"); return undef; } } @@ -303,7 +347,7 @@ =head1 COPYRIGHT & LICENSE -Copyright 2005 Dobrica Pavlinusic, All Rights Reserved. +Copyright 2005-2006 Dobrica Pavlinusic, All Rights Reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.