lookup now accepts default value for not-found
[ferlib2koha.git] / ferlib2koha.pl
index 761a449..ada5c30 100755 (executable)
@@ -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/;