use warnings;
use strict;
-use blib;
-
use WebPAC::Common;
use base qw/WebPAC::Common/;
use Text::Iconv;
+use Data::Dumper;
=head1 NAME
foreach my $subclass (qw/open_db fetch_rec init/) {
my $n = $self->{module} . '::' . $subclass;
if (! defined &{ $n }) {
- $log->logwarn("missing implementation of $subclass");
+ my $missing = "missing $subclass in $self->{module}";
+ $self->{$subclass} = sub { $log->logwarn($missing) };
} else {
$self->{$subclass} = \&{ $n };
}
my $code_page = $arg->{'code_page'} || '852';
# store data in object
- $self->{'code_page'} = $code_page;
+ $self->{'input_code_page'} = $code_page;
foreach my $v (qw/path offset limit/) {
$self->{$v} = $arg->{$v} if ($arg->{$v});
}
}
if ($self->{limit}) {
- $log->info("limiting to ",$self->{limit}," records");
+ $log->debug("limiting to ",$self->{limit}," records");
$limit = $offset + $self->{limit} - 1;
$limit = $size if ($limit > $size);
}
# store size for later
$self->{size} = ($limit - $offset) ? ($limit - $offset + 1) : 0;
- $log->info("processing $self->{size} records in $code_page, convert to $self->{code_page}");
+ $log->info("processing $self->{size}/$size records [$offset-$limit] convert $code_page -> $self->{code_page}");
# read database
for (my $pos = $offset; $pos <= $limit; $pos++) {
my $rec = $self->{fetch_rec}->($self, $db, $pos );
+ $log->debug(sub { Dumper($rec) });
+
if (! $rec) {
$log->warn("record $pos empty? skipping...");
next;