/[webpac-proto]/isis2stream.pl
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Diff of /isis2stream.pl

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.12 by dpavlin, Mon Jun 24 16:16:13 2002 UTC revision 1.19 by dpavlin, Wed Jul 17 18:37:37 2002 UTC
# Line 49  while(<CF>) { Line 49  while(<CF>) {
49          if (/^database-name:([^=]+)=(.*)$/) {          if (/^database-name:([^=]+)=(.*)$/) {
50                  my ($db_name,$db_desc) = ($1,$2);                  my ($db_name,$db_desc) = ($1,$2);
51                  $db_desc=~s/^##\w+##//g;                  $db_desc=~s/^##\w+##//g;
52                  $DatabaseDescriptions{$db_name}=$db_desc;                  # c_iso_852 is a cludge so that output format would be
53                    # correct 8859-2 again...
54                    $DatabaseDescriptions{$db_name}=c_iso_852($db_desc);
55          }          }
56  }  }
57  close(CF);  close(CF);
# Line 309  foreach (@isis_dirs) { Line 311  foreach (@isis_dirs) {
311          if (-e "$common::isis_data/$db_dir/$_/PERI") {          if (-e "$common::isis_data/$db_dir/$_/PERI") {
312                  push @isis_dbs,"$common::isis_data/$db_dir/$_/PERI/PERI";                  push @isis_dbs,"$common::isis_data/$db_dir/$_/PERI/PERI";
313          }          }
314            if (-e "$common::isis_data/$db_dir/$_/AMS") {
315                    push @isis_dbs,"$common::isis_data/$db_dir/$_/AMS/AMS";
316            }
317            if (-e "$common::isis_data/$db_dir/$_/ARTI") {
318                    push @isis_dbs,"$common::isis_data/$db_dir/$_/ARTI/ARTI";
319            }
320  }  }
321    
322  foreach my $isis_db (@isis_dbs) {  foreach my $isis_db (@isis_dbs) {
# Line 317  foreach my $isis_db (@isis_dbs) { Line 325  foreach my $isis_db (@isis_dbs) {
325    
326    my $db = OpenIsis::open( "$isis_db" );    my $db = OpenIsis::open( "$isis_db" );
327    
328      if (! defined $db) {
329            die "can't open '$isis_db'";
330      }
331    
332      my $tip = $isis_db; $tip =~ s/^.+?\/([^\/]+)$/$1/;
333      if (defined $default::tip{$tip}) {
334            $tip=$default::tip{$tip};
335      } elsif ($tip eq "AMS") {
336            $tip=$default::tip{'LIBRI'};
337      } else {
338            die "can't find tip for database '$isis_db'";
339      }
340      $tip = c_iso_852($tip);
341    
342    my $max_rowid = OpenIsis::maxRowid( $db );    my $max_rowid = OpenIsis::maxRowid( $db );
343    
344    my $last_pcnt = 0;    my $last_pcnt = 0;
# Line 325  foreach my $isis_db (@isis_dbs) { Line 347  foreach my $isis_db (@isis_dbs) {
347          my $row = OpenIsis::read( $db, $row_id );          my $row = OpenIsis::read( $db, $row_id );
348          if (my $tmp = $row->{'200'}->[0]) {          if (my $tmp = $row->{'200'}->[0]) {
349    
350                  my $bib = "%MFN $row->{mfn}\n";                  my $bib;
351                  my $mps = "W $row->{mfn} 14\n";                  my $mps = "W $row->{mfn} 14\n";
352    
353                    # tip gradje
354                    $mps .= "W ".c_852_czs($tip)." 17\n";
355                    $bib .= "%tip $tip\n";
356    
357                  my $pcnt = int($row->{mfn} * 100 / $max_rowid);                  my $pcnt = int($row->{mfn} * 100 / $max_rowid);
358                  if ($pcnt != $last_pcnt) {                  if ($pcnt != $last_pcnt) {
359                          printf MPS ("M %5d / %5d -- %-2d %%\n",$row->{mfn},$max_rowid,$pcnt) if (! $opts{q});                          printf MPS ("M %5d / %5d -- %-2d %%\n",$row->{mfn},$max_rowid,$pcnt) if (! $opts{q});
# Line 346  foreach my $isis_db (@isis_dbs) { Line 372  foreach my $isis_db (@isis_dbs) {
372                  $headline =~ s/\s+$//g;                  $headline =~ s/\s+$//g;
373    
374                  # author                  # author
375                  $bib .= isis_to_bib($row,'700','%700+','*',2,'>',', ');                  $bib .= isis_to_bib($row,'700','%700+','ab',undef,'>',', ');
376                  $bib .= isis_to_bib($row,'701','%700+','*',2,'>',', ');                  $bib .= isis_to_bib($row,'701','%700+','ab',undef,'>',', ');
377                  $bib .= isis_to_bib($row,'710','%700+','*',2,'>',', ');                  $bib .= isis_to_bib($row,'701','%700+','cd',undef,'>',', ');
378                  $bib .= isis_to_bib($row,'711','%700+','*',2,'>',', ');  
379                  $bib .= isis_to_bib($row,'503','%700+','*',2,'>',', ');                  my $tmp;
380                    $tmp = isis_sf($row,'710','abc', '', '', (' : ',', '));
381                    $tmp .= isis_sf($row,'710','dfe', ' (', ')', ('', ' ; ',' ; '));
382                    $bib .= "%700+ $tmp\n" if ($tmp);
383    
384                    $tmp = isis_sf($row,'711','abc', '', '', (' : ',', '));
385                    $tmp .= isis_sf($row,'711','dfe', ' (', ')', ('', ' ; ',' ; '));
386                    $bib .= "%700+ $tmp\n" if ($tmp);
387    
388                    $bib .= isis_to_bib($row,'503','%700+','ab',undef,'>',', ');
389    
390                  $mps .= isis_to_mps($row,'700',1);                  $mps .= isis_to_mps($row,'700',1);
391                  $mps .= isis_to_mps($row,'701',1);                  $mps .= isis_to_mps($row,'701',1);
# Line 386  foreach my $isis_db (@isis_dbs) { Line 421  foreach my $isis_db (@isis_dbs) {
421                  $mps .= isis_to_mps($row,'233',2,"ae");                  $mps .= isis_to_mps($row,'233',2,"ae");
422    
423    
                 my $tmp;  
424                  $tmp =  isis_sf($row,'230','v').                  $tmp =  isis_sf($row,'230','v').
425                          isis_sf($row,'230','a',' : ').                          isis_sf($row,'230','a',' : ').
426                          isis_sf($row,'250',undef,'. - ').                          isis_sf($row,'250',undef,'. - ').
# Line 472  foreach my $isis_db (@isis_dbs) { Line 506  foreach my $isis_db (@isis_dbs) {
506                  $bib .= isis_to_bib($row,'610','%610');                  $bib .= isis_to_bib($row,'610','%610');
507                  $mps .= isis_to_mps($row,'610',8);                  $mps .= isis_to_mps($row,'610',8);
508    
509                  $bib .= isis_to_bib($row,'675','%675+');                  $bib .= isis_to_bib($row,'675','%675+','a');
510                  $mps .= isis_to_mps($row,'675',9);                  $mps .= isis_to_mps($row,'675',9);
511                  $bib .= isis_to_bib($row,'686','%675+');                  $bib .= isis_to_bib($row,'686','%675+','a');
512                  $mps .= isis_to_mps($row,'686',10);                  $mps .= isis_to_mps($row,'686',10);
513    
514                  $bib .= isis_to_bib($row,'990','%990');                  $bib .= isis_to_bib($row,'990','%990');
# Line 483  foreach my $isis_db (@isis_dbs) { Line 517  foreach my $isis_db (@isis_dbs) {
517                  $bib .= isis_to_bib($row,'991','%991');                  $bib .= isis_to_bib($row,'991','%991');
518                  $mps .= isis_to_mps($row,'991',12);                  $mps .= isis_to_mps($row,'991',12);
519    
520                    # Jezik
521                    $bib .= isis_to_bib($row,'101','%101');
522                    $mps .= isis_to_mps($row,'101',16);
523                    # Pismo
524                    $bib .= isis_to_bib($row,'998','%101', 'a');
525    
526                  sub isis_isn_to_mps {                  sub isis_isn_to_mps {
527                          my $row = shift @_ || die;                          my $row = shift @_ || die;
528                          my $isis_id = shift @_ || die;                          my $isis_id = shift @_ || die;
# Line 510  foreach my $isis_db (@isis_dbs) { Line 550  foreach my $isis_db (@isis_dbs) {
550                  $mps .= isis_isn_to_mps($row,'293',13);                  $mps .= isis_isn_to_mps($row,'293',13);
551    
552                  # ISSN                  # ISSN
553                  #store_isn($row->{11}->[0],14,'%ISSN');                  $bib .= isis_to_bib($row,'11','%ISSN');
554                    $mps .= isis_isn_to_mps($row,'11',13);
555    
556                  $mps .= isis_to_mps($row,'532',1);                  $mps .= isis_to_mps($row,'532',1);
557    
558                  $bib .= isis_to_bib($row,'994','%994a','a');                  # Casopisi
559                    $tmp = isis_to_bib($row,'326','%326');
560                    $tmp =~ s/g1/godišnjak/;
561                    $tmp =~ s/g6/dvomjesečnik/;
562                    $tmp =~ s/10/godišnje 10 brojeva/;
563                    $tmp =~ s/m1/mjesečnik/;
564                    $tmp =~ s/m2/polumjesečnik/;
565                    $tmp =~ s/nr/neredovito/;
566                    $bib .= c_iso_852($tmp);
567                    $bib .= isis_to_bib($row,'992','%992');
568    
569                    $bib .= '%knjiz '.$DatabaseDescriptions{$db_dir}.", ".$row->{mfn}."\n";
570                  # headline                  # headline
571                  if ($headline) {                  if ($headline) {
572                          $headline .= " <i>(".$DatabaseDescriptions{$db_dir}.", ".$row->{mfn}.")</i>";   ## debug MFN!                          $headline .= " <i>(".$DatabaseDescriptions{$db_dir}.", ".$row->{mfn}.")</i>";   ## debug MFN!
573                          $headline =~ s/&/&and;/g;                          $headline =~ s/&/&and;/g;
574                          $headline =~ s/</&lt;/g;                          $headline =~ s/</&lt;/g;
575                          $headline =~ s/>/&gt;/g;                          $headline =~ s/>/&gt;/g;
                         $headline =~ s/&lt;(\/?[bi])&gt;/<$1>/g;  
576                          $mps .= "H ".c_852_iso($headline)."\n";                          $mps .= "H ".c_852_iso($headline)."\n";
577                  } else {                  } else {
578                          $mps .= "H nepoznato\n";                          $mps .= "H nepoznato\n";

Legend:
Removed from v.1.12  
changed lines
  Added in v.1.19

  ViewVC Help
Powered by ViewVC 1.1.26