--- isis2stream.pl 2002/07/17 16:55:24 1.18 +++ isis2stream.pl 2002/07/17 18:37:37 1.19 @@ -311,6 +311,12 @@ if (-e "$common::isis_data/$db_dir/$_/PERI") { push @isis_dbs,"$common::isis_data/$db_dir/$_/PERI/PERI"; } + if (-e "$common::isis_data/$db_dir/$_/AMS") { + push @isis_dbs,"$common::isis_data/$db_dir/$_/AMS/AMS"; + } + if (-e "$common::isis_data/$db_dir/$_/ARTI") { + push @isis_dbs,"$common::isis_data/$db_dir/$_/ARTI/ARTI"; + } } foreach my $isis_db (@isis_dbs) { @@ -319,6 +325,20 @@ my $db = OpenIsis::open( "$isis_db" ); + if (! defined $db) { + die "can't open '$isis_db'"; + } + + my $tip = $isis_db; $tip =~ s/^.+?\/([^\/]+)$/$1/; + if (defined $default::tip{$tip}) { + $tip=$default::tip{$tip}; + } elsif ($tip eq "AMS") { + $tip=$default::tip{'LIBRI'}; + } else { + die "can't find tip for database '$isis_db'"; + } + $tip = c_iso_852($tip); + my $max_rowid = OpenIsis::maxRowid( $db ); my $last_pcnt = 0; @@ -330,6 +350,10 @@ my $bib; my $mps = "W $row->{mfn} 14\n"; + # tip gradje + $mps .= "W ".c_852_czs($tip)." 17\n"; + $bib .= "%tip $tip\n"; + my $pcnt = int($row->{mfn} * 100 / $max_rowid); if ($pcnt != $last_pcnt) { printf MPS ("M %5d / %5d -- %-2d %%\n",$row->{mfn},$max_rowid,$pcnt) if (! $opts{q}); @@ -526,10 +550,22 @@ $mps .= isis_isn_to_mps($row,'293',13); # ISSN - #store_isn($row->{11}->[0],14,'%ISSN'); + $bib .= isis_to_bib($row,'11','%ISSN'); + $mps .= isis_isn_to_mps($row,'11',13); $mps .= isis_to_mps($row,'532',1); + # Casopisi + $tmp = isis_to_bib($row,'326','%326'); + $tmp =~ s/g1/godišnjak/; + $tmp =~ s/g6/dvomjesečnik/; + $tmp =~ s/10/godišnje 10 brojeva/; + $tmp =~ s/m1/mjesečnik/; + $tmp =~ s/m2/polumjesečnik/; + $tmp =~ s/nr/neredovito/; + $bib .= c_iso_852($tmp); + $bib .= isis_to_bib($row,'992','%992'); + $bib .= '%knjiz '.$DatabaseDescriptions{$db_dir}.", ".$row->{mfn}."\n"; # headline if ($headline) {