make optional fields skipped
authorDobrica Pavlinusic <dpavlin@rot13.org>
Mon, 18 Jan 2016 19:24:23 +0000 (20:24 +0100)
committerDobrica Pavlinusic <dpavlin@rot13.org>
Mon, 18 Jan 2016 19:24:23 +0000 (20:24 +0100)
zavrsni-radovi/import-radovi.pl

index 3ddb804..7291b09 100755 (executable)
@@ -34,6 +34,7 @@ foreach my $rad ( @$json ) {
        $marc->encoding( 'UTF-8' );
 
        $marc->add_fields(
+               grep { ref($_) eq 'ARRAY' }
                [ '100', '1', '#', a => $rad->{prezime} . ', ' . $rad->{ime}, g => 'JMBAG:' . $rad->{jmbag} ],
                [ '245', '1', '0', a => $rad->{naslovhr} ],
                [ '246', '1',
@@ -41,12 +42,12 @@ foreach my $rad ( @$json ) {
                        $rad->{nasloven} =~ m/A /   ? 2 : ' ' # FIXME?
                        , a => $rad->{nasloven}, i => 'Naslov na engleskom: '
                ],
-               [ '300', '#', '#', a => $rad->{'brojstranica'} . ' str. ;', c => '30 cm' ],
-               [ '502', '#', '#', a => 'FIXME', b => $rad->{studij} . ' studij', c => 'Fakultet elektrotehnike i računarstva u Zagrebu', g => 'smjer: ' . $rad->{smjer}, g => 'šifra smjera: ' . $rad->{sifsmjer}, d => $rad->{datumzavrsetka} ],
-               [ '520', '3', '#', a => 'Sažetak na hrvatskom: ' . $rad->{sazetakhr} ],
-               [ '520', '3', '#', a => 'Sažetak na engleskom: ' . $rad->{sazetaken} ],
-#              [ '653', '#', '#', map { a => $_ } split(/;\s*/, $rad->{keywords}  ) ],
-#              [ '653', '#', '#', map { a => $_ } split(/;\s*/, $rad->{keywordsen}) ],
+               $rad->{'brojstranica'} ? [ '300', '#', '#', a => $rad->{'brojstranica'} . ' str. ;', c => '30 cm' ] : '',
+               [ '502', '#', '#', b => $rad->{studij} . ' studij', c => 'Fakultet elektrotehnike i računarstva u Zagrebu', g => 'smjer: ' . $rad->{smjer}, g => 'šifra smjera: ' . $rad->{sifsmjer}, d => $rad->{datumzavrsetka} ],
+               $rad->{sazetakhr} ? [ '520', '3', '#', a => 'Sažetak na hrvatskom: ' . $rad->{sazetakhr} ] : '',
+               $rad->{sazetaken} ? [ '520', '3', '#', a => 'Sažetak na engleskom: ' . $rad->{sazetaken} ] : '',
+               $rad->{keywords}  ? [ '653', '#', '#', map { ( a => $_ ) } split(/;\s*/, $rad->{keywords}  ) ] : '',
+               $rad->{keywords_en} ? [ '653', '#', '#', map { ( a => $_ ) } split(/;\s*/, $rad->{keywords_en}) ] : '',
                [ '700', '1', '#', a => $rad->{prezmentor} . ', ' . $rad->{imementor}, 4 => 'ths' ],
                $rad->{prezmentor2} ? [ '700', '1', '#', a => $rad->{prezmentor2} . ', ' . $rad->{imementor2}, 4 => 'ths' ] : ''
        );