/[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.3 by dpavlin, Sun Jun 16 14:37:43 2002 UTC revision 1.5 by dpavlin, Sun Jun 16 15:45:44 2002 UTC
# Line 4  use strict; Line 4  use strict;
4  use OpenIsis;  use OpenIsis;
5  use Getopt::Std;  use Getopt::Std;
6  #use Data::Dumper;  #use Data::Dumper;
7  require "common.pl";  use common;
   
 my $install_dir="/local/index";  
 my $mpsindex="/local/mps-5.3/bin/mpsindex -l 9 -b";  
 my $isis_data="/var/autofs/misc/isis_data/";  
 #my $isis_data="/mnt/20020606/Isis/Data/";      # doma  
8    
9  my %opts;  my %opts;
10    
11  getopt('dD', \%opts);  getopt('dm', \%opts);
12    
13  die "usage: $0 -d [database_dir] " if (! $opts{d});  die "usage: $0 -d [database_dir] -m [database1,database2] " if (! %opts);
14    
15  my $db_dir = $opts{d};  my $db_dir = $opts{d};
16    
17  mkdir "$install_dir/$db_dir" if (!-e "$install_dir/$db_dir");  mkdir "$common::install_dir/$db_dir" if (!-e "$common::install_dir/$db_dir");
18  mkdir "$install_dir/$db_dir/data" if (!-e "$install_dir/$db_dir/data");  mkdir "$common::install_dir/$db_dir/data" if (!-e "$common::install_dir/$db_dir/data");
19    
20  my $dir="$install_dir/$db_dir/data";  my $dir="$common::install_dir/$db_dir/data";
21    
22    
23  open(S,"> $dir/stream") || die "can't open output $dir/stram: $!";  open(S,"> $dir/stream") || die "can't open output $dir/stream: $!";
24  open(R,"> $dir/bib") || die "can't open output $dir/bib: $!";  open(R,"> $dir/bib") || die "can't open output $dir/bib: $!";
25  open(MPS,"| $mpsindex -d $install_dir/$db_dir -autokey") || die "can't start MPS indexer $mpsindex: $!";  open(MPS,"| $common::mpsindex -d $common::install_dir/$db_dir -autokey") || die "can't start MPS indexer $common::mpsindex: $!";
26  #open(MPS,"> /tmp/mpsindex") || die "mps: $!";  #open(MPS,"> /tmp/mpsindex") || die "mps: $!";
27    
28  my $s="V 5 3  print S $common::mps_header;
29  L hr-HR  print MPS $common::mps_header;
 F 700+ 1 Autor  
 F 200+ 2 Naslov  
 F 210 3 Izdavanje  
 F 225 4 Nakladnička cjelina  
 F 300+ 5 Napomene  
 F 330 6 Sadržaj  
 F 464 7 Analitički radovi  
 F 610 8 Ključne riječi  
 F 675 9 UDK  
 F 686 10 CC  
 F 990 11 Signatura  
 F 991 12 Inventarni broj  
 F 10 13 ISBN  
 ";  
   
 print S $s;  
 print MPS $s;  
30    
31  #  #
32  # expand(nr,"space separated string");  # expand(nr,"space separated string");
# Line 366  sub isis_sf { Line 344  sub isis_sf {
344    
345  my $last_tell=0;  my $last_tell=0;
346    
347  my $db = OpenIsis::open( "$isis_data/$db_dir/LIBRI/LIBRI" );  my @isis_dbs = ( '.' ); # use dirname as database name
348    
349    if ($opts{m}) {
350            @isis_dbs = split(/,/,$opts{m});
351    }
352    
353    foreach my $db_name (@isis_dbs) {
354    
355      print MPS "M reading ISIS from $db_dir/$db_name/LIBRI...\n";
356    
357      my $db = OpenIsis::open( "$common::isis_data/$db_dir/$db_name/LIBRI/LIBRI" );
358    
359  my $max_rowid = OpenIsis::maxRowid( $db );    my $max_rowid = OpenIsis::maxRowid( $db );
360    
361  my $last_pcnt = 0;    my $last_pcnt = 0;
362    
363  for (my $row_id = 1; $row_id <= $max_rowid; $row_id++ ) {    for (my $row_id = 1; $row_id <= $max_rowid; $row_id++ ) {
364          my $row = OpenIsis::read( $db, $row_id );          my $row = OpenIsis::read( $db, $row_id );
365          if (my $tmp = $row->{'200'}->[0]) {          if (my $tmp = $row->{'200'}->[0]) {
366    
# Line 520  for (my $row_id = 1; $row_id <= $max_row Line 508  for (my $row_id = 1; $row_id <= $max_row
508                  print S $mps;                  print S $mps;
509                  print MPS $mps;                  print MPS $mps;
510          }          }
511      }
512  }  }
513  print S "M over and out\nX\n";  print S "M over and out\nX\n";
514  print MPS "M over and out\nX\n";  print MPS "M over and out\nX\n";

Legend:
Removed from v.1.3  
changed lines
  Added in v.1.5

  ViewVC Help
Powered by ViewVC 1.1.26