76 |
$log->logcroak("need filename") if (! $arg->{'filename'}); |
$log->logcroak("need filename") if (! $arg->{'filename'}); |
77 |
my $code_page = $arg->{'code_page'} || '852'; |
my $code_page = $arg->{'code_page'} || '852'; |
78 |
|
|
|
$log->logdie("can't find database ",$arg->{'filename'}) unless (glob($arg->{'filename'}.'.*')); |
|
|
|
|
79 |
# store data in object |
# store data in object |
80 |
$self->{'isis_code_page'} = $code_page; |
$self->{'isis_code_page'} = $code_page; |
81 |
foreach my $v (qw/isis_filename start_mfn limit_mfn/) { |
foreach my $v (qw/isis_filename start_mfn limit_mfn/) { |
105 |
$l = $cp->convert($l); |
$l = $cp->convert($l); |
106 |
return $l; |
return $l; |
107 |
}, |
}, |
108 |
); |
) or $log->logdie("can't find database ",$arg->{'filename'}); |
109 |
|
|
110 |
$db_size = $isis_db->count; |
$db_size = $isis_db->count; |
111 |
|
|
112 |
unless ($db_size) { |
unless ($db_size) { |
180 |
$log->logdie("hum? implementation missing?"); |
$log->logdie("hum? implementation missing?"); |
181 |
} |
} |
182 |
|
|
183 |
$log->confess("record $mfn empty?") unless ($rec); |
if (! $rec) { |
184 |
|
$log->warn("record $mfn empty? skipping..."); |
185 |
|
next; |
186 |
|
} |
187 |
|
|
188 |
# store |
# store |
189 |
if ($self->{'low_mem'}) { |
if ($self->{'low_mem'}) { |
193 |
} |
} |
194 |
|
|
195 |
# create lookup |
# create lookup |
196 |
$self->{'lookup'}->add( $rec ) if ($self->{'lookup'} && can($self->{'lookup'}->add)); |
$self->{'lookup'}->add( $rec ) if ($rec && $self->{'lookup'}); |
197 |
|
|
198 |
$self->progress_bar($mfn,$maxmfn); |
$self->progress_bar($mfn,$maxmfn); |
199 |
|
|
244 |
|
|
245 |
$self->progress_bar($mfn,$self->{'max_mfn'}); |
$self->progress_bar($mfn,$self->{'max_mfn'}); |
246 |
|
|
247 |
|
my $rec; |
248 |
|
|
249 |
if ($self->{'low_mem'}) { |
if ($self->{'low_mem'}) { |
250 |
return $self->{'db'}->get($mfn); |
$rec = $self->{'db'}->get($mfn); |
251 |
} else { |
} else { |
252 |
return $self->{'data'}->{$mfn}; |
$rec = $self->{'data'}->{$mfn}; |
253 |
} |
} |
254 |
|
|
255 |
|
$rec ||= 0E0; |
256 |
} |
} |
257 |
|
|
258 |
=head2 pos |
=head2 pos |