don't overwrite cache marc file
authorDobrica Pavlinusic <dpavlin@rot13.org>
Fri, 10 Jul 2009 13:53:28 +0000 (13:53 +0000)
committerDobrica Pavlinusic <dpavlin@rot13.org>
Fri, 10 Jul 2009 13:53:28 +0000 (13:53 +0000)
git-svn-id: svn+ssh://mjesec/home/dpavlin/svn/webpac2/trunk@1234 07558da8-63fa-0310-ba24-9fe276d99e06

lib/WebPAC/Input/Koha.pm

index 8192607..50a5103 100644 (file)
@@ -37,15 +37,23 @@ sub new {
 
        my $log = $self->_get_logger();
 
-       $log->info("opening Koha database '$arg->{dsn}'");
+       if ( -e $arg->{path} ) {
+               $log->info("Koha marc dump ", $arg->{path}, " exists");
+               $self->{_koha_size} = 0;
+       } else {
 
-       $self->{_dbh} = DBI->connect( $arg->{dsn}, $arg->{user}, $arg->{passwd}, { RaiseError => 1 } );
-       $self->{_sth} = $self->{_dbh}->prepare( $arg->{sql} );
-       $self->{_sth}->execute;
+               $log->info("opening Koha database '$arg->{dsn}'");
 
-       warn "got ", $self->{_sth}->rows, " rows for ", $arg->{sql};
+               $self->{_dbh} = DBI->connect( $arg->{dsn}, $arg->{user}, $arg->{passwd}, { RaiseError => 1 } );
+               $self->{_sth} = $self->{_dbh}->prepare( $arg->{sql} );
+               $self->{_sth}->execute;
+               $self->{_koha_size} = $self->{_sth}->rows;
 
-       open( $self->{_koha_fh}, '>', $arg->{path} ) || warn "not creating $arg->{path}: $!";
+               warn "got ", $self->{_koha_size}, " rows for ", $arg->{sql};
+
+               open( $self->{_koha_fh}, '>', $arg->{path} ) || die "can't create $arg->{path}: $!";
+
+       }
 
        $self ? return $self : return undef;
 }
@@ -87,7 +95,7 @@ Return number of records in database
 
 sub size {
        my $self = shift;
-       return $self->{_sth}->rows;
+       return $self->{_koha_size};
 }