4 |
use OpenIsis; |
use OpenIsis; |
5 |
use Getopt::Std; |
use Getopt::Std; |
6 |
#use Data::Dumper; |
#use Data::Dumper; |
7 |
|
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"); |
156 |
} |
} |
157 |
|
|
158 |
#-------------------------------------------------------------------- |
#-------------------------------------------------------------------- |
|
# |
|
|
# mps_expand(nr,"space separated string"); |
|
|
# |
|
|
|
|
|
sub mps_expand { |
|
|
my $nr = shift @_; |
|
|
my $out = ""; |
|
|
while (my $fld = shift @_) { |
|
|
if ($fld =~ s/\s*[,;\.!?'"<>\[\]]*\s+/ /g) { |
|
|
foreach my $w (split(/\s+/,$fld)) { |
|
|
# FIX: this should be replaced by stemmer! |
|
|
$out .= "W $w $nr\n"; |
|
|
} |
|
|
} else { |
|
|
$out .= "W $fld $nr\n"; |
|
|
} |
|
|
} |
|
|
return c_852_czs($out); |
|
|
} |
|
|
|
|
|
#-------------------------------------------------------------------- |
|
159 |
|
|
160 |
# $mps .= sf_to_mps($subfiled_hash,"subfields",mps_id); |
# $mps .= sf_to_mps($subfiled_hash,"subfields",mps_id); |
161 |
# |
# |
344 |
|
|
345 |
my $last_tell=0; |
my $last_tell=0; |
346 |
|
|
347 |
my $db = OpenIsis::open( "$isis_data/$db_dir/LIBRI/LIBRI" ); |
my $db = OpenIsis::open( "$common::isis_data/$db_dir/LIBRI/LIBRI" ); |
348 |
|
|
349 |
my $max_rowid = OpenIsis::maxRowid( $db ); |
my $max_rowid = OpenIsis::maxRowid( $db ); |
350 |
|
|