From: Dobrica Pavlinusic Date: Mon, 18 Jan 2016 17:59:32 +0000 (+0100) Subject: first draft of conversion of zavrsni radovi for import X-Git-Url: http://git.rot13.org/?p=ferlib2koha.git;a=commitdiff_plain;h=7def9e01e35c56955a12880bf483b8bc9aecbd4f;ds=sidebyside first draft of conversion of zavrsni radovi for import --- diff --git a/zavrsni-radovi/import-radovi.pl b/zavrsni-radovi/import-radovi.pl new file mode 100755 index 0000000..3ddb804 --- /dev/null +++ b/zavrsni-radovi/import-radovi.pl @@ -0,0 +1,65 @@ +#!/usr/bin/perl + +use warnings; +use strict; +use autodie; +use utf8; + +use JSON; +use Data::Dump qw(dump); +use MARC::Record; + +open(my $json, '<', 'report_62836_1046_ZavrsniRadovi.json'); +{ + undef $/; + my $data = <$json>; + close($json); + $json = decode_json($data); +} +#warn dump($json->[0]); + +my $stat; + +foreach my $rad ( @$json ) { + + print dump($rad), "\n"; + + if ( ! $rad->{naslovhr} ) { + $stat->{no_naslovhr}++; + next; + } + $stat->{radova}++; + + my $marc = MARC::Record->new; + $marc->encoding( 'UTF-8' ); + + $marc->add_fields( + [ '100', '1', '#', a => $rad->{prezime} . ', ' . $rad->{ime}, g => 'JMBAG:' . $rad->{jmbag} ], + [ '245', '1', '0', a => $rad->{naslovhr} ], + [ '246', '1', + $rad->{nasloven} =~ m/The / ? 4 : + $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}) ], + [ '700', '1', '#', a => $rad->{prezmentor} . ', ' . $rad->{imementor}, 4 => 'ths' ], + $rad->{prezmentor2} ? [ '700', '1', '#', a => $rad->{prezmentor2} . ', ' . $rad->{imementor2}, 4 => 'ths' ] : '' + ); + + print $marc->as_formatted, "\n\n"; # FIXME + +# last if $stat->{radova} == 10; # FIXME +} + +print "# stat = ",dump($stat); + +=for import + +($recordid, $biblioitemnumber) = AddBiblio($marc_record, $framework); + +=cut