14 |
|
|
15 |
=head1 VERSION |
=head1 VERSION |
16 |
|
|
17 |
Version 0.11 |
Version 0.12 |
18 |
|
|
19 |
=cut |
=cut |
20 |
|
|
21 |
our $VERSION = '0.11'; |
our $VERSION = '0.12'; |
22 |
|
|
23 |
=head1 SYNOPSIS |
=head1 SYNOPSIS |
24 |
|
|
71 |
|
|
72 |
my $log = $self->_get_logger(); |
my $log = $self->_get_logger(); |
73 |
|
|
74 |
foreach my $p (qw/path database/) { |
foreach my $p (qw/path/) { |
75 |
$log->logconfess("need $p") unless ($self->{$p}); |
$log->logconfess("need $p") unless ($self->{$p}); |
76 |
} |
} |
77 |
|
|
176 |
$log->logconfess("got hash, but without id") unless (defined($id)); |
$log->logconfess("got hash, but without id") unless (defined($id)); |
177 |
$log->logconfess("got hash, but id [$id] isn't number") unless ($id =~ /^\d+$/); |
$log->logconfess("got hash, but id [$id] isn't number") unless ($id =~ /^\d+$/); |
178 |
|
|
179 |
my $database = $args->{database} || $self->{database}; |
my $database = $args->{database} || $self->{database} || $log->logconfess("no database?"); |
|
my $input = $args->{input} || ''; |
|
180 |
|
|
181 |
$log->logconfess("can't find database name") unless ($database); |
my $input = $args->{input} || ''; |
182 |
|
|
183 |
my $cache_file = "$cache_path/$database/$input/$id"; |
my $cache_file = "$cache_path/$database/$input/$id"; |
184 |
$cache_file =~ s#//#/#go; |
$cache_file =~ s#//#/#go; |
238 |
} |
} |
239 |
|
|
240 |
my $database = $args->{database} || $self->{database}; |
my $database = $args->{database} || $self->{database}; |
241 |
$log->logconfess("can't find database name") unless ($database); |
$log->logconfess("can't find database name") unless (defined($database)); |
242 |
|
|
243 |
my $input = $args->{input} || ''; |
my $input = $args->{input} || ''; |
244 |
|
|
258 |
|
|
259 |
} |
} |
260 |
|
|
261 |
|
=head2 load_lookup |
262 |
|
|
263 |
|
$data = $db->load_lookup( |
264 |
|
database => $database, |
265 |
|
input => $input, |
266 |
|
key => $key, |
267 |
|
); |
268 |
|
|
269 |
|
=cut |
270 |
|
|
271 |
|
sub load_lookup { |
272 |
|
my $self = shift; |
273 |
|
my $args = {@_}; |
274 |
|
|
275 |
|
my $log = $self->_get_logger; |
276 |
|
|
277 |
|
foreach my $r (qw/input key/) { |
278 |
|
$log->logconfess("need '$r'") unless defined($args->{$r}); |
279 |
|
} |
280 |
|
|
281 |
|
my $database = $args->{database} || $self->{database} || $log->logconfess("no database?"); |
282 |
|
|
283 |
|
my $path = $self->{path} . "/lookup/$database/" . $args->{input} . '/' . $args->{key}; |
284 |
|
|
285 |
|
if (! -e $path) { |
286 |
|
$log->warn("lookup $path doesn't exist, skipping"); |
287 |
|
return; |
288 |
|
} |
289 |
|
|
290 |
|
if (my $data = retrieve($path)) { |
291 |
|
$log->info("loaded lookup $path"); |
292 |
|
return $data; |
293 |
|
} else { |
294 |
|
$log->logwarn("can't load lookup $database/", $args->{input}, "/", $args->{key}, " from $path: $!"); |
295 |
|
return undef; |
296 |
|
} |
297 |
|
} |
298 |
|
|
299 |
=head2 save_lookup |
=head2 save_lookup |
300 |
|
|
301 |
$db->save_lookup( |
$db->save_lookup( |
329 |
$log->info("saved lookup $path"); |
$log->info("saved lookup $path"); |
330 |
return 1; |
return 1; |
331 |
} else { |
} else { |
332 |
$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: $!"); |
333 |
return undef; |
return undef; |
334 |
} |
} |
335 |
} |
} |