From 0e15aed4cc60806656a39a3aa963c4a6913c287a Mon Sep 17 00:00:00 2001 From: Dobrica Pavlinusic Date: Sun, 12 Jun 2011 22:14:32 +0200 Subject: [PATCH] lookup now accepts default value for not-found This allows us to import original values in cities and states, while keeping null values for missing e-mails --- ferlib2koha.pl | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/ferlib2koha.pl b/ferlib2koha.pl index 761a449..ada5c30 100755 --- a/ferlib2koha.pl +++ b/ferlib2koha.pl @@ -12,7 +12,7 @@ my $k = DBI->connect("dbi:mysql:database=koha_fer","","", { RaiseError => 1, Aut our $lookup; sub lookup { - my ($t, $k, $v, $s ) = @_; + my ($t, $k, $v, $s, $default ) = @_; my $hash; my $key = "$t $k $v"; if ( exists $lookup->{$key} ) { @@ -30,7 +30,7 @@ sub lookup { return unless length $s > 1; if ( ! exists $lookup->{$key}->{$s} ) { warn "ERROR: no $s in $key\n"; - return $s; + return $default; } else { $lookup->{$key}->{$s}; } @@ -63,11 +63,14 @@ sub borrowers { warn dump $row; # poor man's (sqlite) outer join - $row->{'country'} = lookup('drzava', 'ozn_drzava', 'naz_drzava', $row->{'country'} ); - $row->{'city'} = lookup('mjesto', 'post_ozn', 'naz_mjesto', $row->{'city'} ); + $row->{'country'} = lookup('drzava', 'ozn_drzava', 'naz_drzava', $row->{'country'}, $row->{contry} ); + $row->{'city'} = lookup('mjesto', 'post_ozn', 'naz_mjesto', $row->{'city'}, $row->{city} ); - $row->{'B_country'} = lookup('drzava', 'ozn_drzava', 'naz_drzava', $row->{'B_country'} ); - $row->{'B_city'} = lookup('mjesto', 'post_ozn', 'naz_mjesto', $row->{'B_city'} ); + $row->{'B_country'} = lookup('drzava', 'ozn_drzava', 'naz_drzava', $row->{'B_country'}, $row->{B_country} ); + $row->{'B_city'} = lookup('mjesto', 'post_ozn', 'naz_mjesto', $row->{'B_city'}, $row->{B_city} ); + + $row->{'email'} = lookup('clanost', 'ozn_vrclan||ozn_clan', 'email', $row->{'cardnumber'}, undef); + $row->{'emailpro'} = lookup('clanost', 'ozn_vrclan||ozn_clan', 'email_k', $row->{'cardnumber'}, undef); foreach my $c ( grep { /date/ } keys %$row ) { $row->{$c} =~ s/(\d\d)\.(\d\d)\.(\d\d\d\d)/$3-$2-$1/; -- 2.20.1