=cut
-our $VERSION = '0.01';
+our $VERSION = '0.02';
=head1 FUNCTIONS
=head2 new
my $input = new WebPAC::Input::Koha(
- dsn => '',
- filter => \&code_ref,
+ dsn => 'dbi:mysql:database=koha',
+ user => $ENV{KOHA_USER},
+ passwd => $ENV{KOHA_PASSWD},
}
=cut
my $arg = {@_};
my $log = $self->_get_logger();
+ $log->debug( 'arg = ', dump($arg) );
if ( -e $arg->{path} ) {
$log->info("Koha marc dump ", $arg->{path}, " exists");
$arg->{dsn} ||= 'dbi:mysql:database=koha';
$arg->{user} ||= $ENV{KOHA_USER};
$arg->{passwd} ||= $ENV{KOHA_PASSWD},
- $arg->{sql} ||= 'select biblioitemnumber as mfn, marc from biblioitems';
+ $arg->{sql} ||= 'select biblionumber as mfn, marc from biblioitems';
+ $arg->{sql} .= ' limit ' . $arg->{limit} if $arg->{limit};
+ $arg->{sql} .= ' offset ' . $arg->{offset} if $arg->{offset};
$log->info("opening Koha database '$arg->{dsn}'");
sub size {
my $self = shift;
- return $self->{_koha_size};
+ return $self->{_koha_size} + $self->{offset};
}
use strict;
use lib 'lib';
-use Test::More tests => 27;
+use Test::More tests => 28;
BEGIN {
use_ok( 'WebPAC::Test' );
%LOG
), "new");
+my $path = '/tmp/koha.marc';
+
ok(my $db = $input->open(
- path => '/tmp/koha.marc', # required?
+ path => $path,
dsn => 'dbi:mysql:database=koha',
user => $ENV{KOHA_USER},
passwd => $ENV{KOHA_PASSWD},
- sql => q{
- select biblioitemnumber as mfn, marc from biblioitems limit 7
- },
+ limit => 7,
+ offset => 3,
), "open");
ok(my $size = $input->size, "size");
cmp_ok( $size, '==', 7, 'size ok' );
-foreach my $mfn ( 1 ... $size ) {
+foreach my $mfn ( 3 + 1 ... 3 + $size ) {
my $rec = $input->fetch;
ok($rec, "fetch $mfn");
cmp_ok($rec->{'000'}->[0], '==', $mfn, 'has mfn');
diag "rec: ", dump($rec), "\n" if $debug;
}
+ok( unlink $path, "unlink $path" );