1 |
dpavlin |
1.3 |
#!/usr/bin/perl |
2 |
dpavlin |
1.1 |
|
3 |
dpavlin |
1.2 |
#package common; |
4 |
|
|
|
5 |
dpavlin |
1.1 |
use strict; |
6 |
dpavlin |
1.2 |
|
7 |
|
|
$common::install_dir="/local/index"; |
8 |
|
|
$common::mpsindex="/local/mps-5.3/bin/mpsindex -l 9 -b"; |
9 |
|
|
$common::isis_data="/var/autofs/misc/isis_data/"; |
10 |
|
|
#$common::isis_data="/mnt/20020606/Isis/Data/"; # doma |
11 |
|
|
|
12 |
|
|
$common::mps_header="V 5 3 |
13 |
|
|
L hr-HR |
14 |
|
|
F 700+ 1 Autor |
15 |
|
|
F 200+ 2 Naslov |
16 |
dpavlin |
1.3 |
F 210+ 3 Izdavanje |
17 |
dpavlin |
1.2 |
F 225 4 Nakladnièka cjelina |
18 |
|
|
F 300+ 5 Napomene |
19 |
|
|
F 330 6 Sadr¾aj |
20 |
|
|
F 464 7 Analitièki radovi |
21 |
|
|
F 610 8 Kljuène rijeèi |
22 |
|
|
F 675 9 UDK |
23 |
|
|
F 686 10 CC |
24 |
|
|
F 990 11 Signatura |
25 |
|
|
F 991 12 Inventarni broj |
26 |
dpavlin |
1.4 |
F ISBN 13 ISBN |
27 |
dpavlin |
1.3 |
F MFN 14 MFN |
28 |
|
|
F 215+ 15 Materijalni opis |
29 |
dpavlin |
1.8 |
F 101 16 Jezik |
30 |
dpavlin |
1.2 |
"; |
31 |
dpavlin |
1.1 |
|
32 |
dpavlin |
1.5 |
$common::database_cf="/local/search/databases.cf"; |
33 |
|
|
|
34 |
dpavlin |
1.1 |
#-------------------------------------------------------------------- |
35 |
|
|
# |
36 |
|
|
# mps_expand(nr,"space separated string"); |
37 |
|
|
# |
38 |
|
|
|
39 |
|
|
sub mps_expand { |
40 |
|
|
my $nr = shift @_; |
41 |
|
|
my $out = ""; |
42 |
|
|
while (my $fld = shift @_) { |
43 |
|
|
if ($fld =~ s/\s*[,;\.!?'"<>\[\]]*\s+/ /g) { |
44 |
dpavlin |
1.6 |
$fld =~ s/></ /g; |
45 |
dpavlin |
1.1 |
foreach my $w (split(/\s+/,$fld)) { |
46 |
|
|
# FIX: this should be replaced by stemmer! |
47 |
dpavlin |
1.6 |
# remove chars from beginning of word |
48 |
|
|
$w =~ s/^['"<(\[]//g; |
49 |
|
|
# remove chars from end of word |
50 |
|
|
$w =~ s/[,;\.!?'">)\]]$//g; |
51 |
|
|
# preglasi öÖäÄüÜ -> |
52 |
|
|
if ($w =~ m/[]/) { |
53 |
|
|
$out .= "W $w $nr\n"; |
54 |
|
|
$w =~ s/[]/oe/g; |
55 |
|
|
$w =~ s/[]/ae/g; |
56 |
|
|
$w =~ s/[]/ue/g; |
57 |
|
|
$out .= "W $w $nr\n"; |
58 |
dpavlin |
1.7 |
# Irish Last names |
59 |
|
|
} elsif (($nr == 1 || $nr == 2 || $nr == 3 || $nr == 6 || $nr == 7 || $nr == 8) && $w =~ m/^Ma?c([A-Z].+)/) { |
60 |
|
|
$out .= "W Mc$1 $nr\n"; |
61 |
|
|
$out .= "W Mac$1 $nr\n"; |
62 |
dpavlin |
1.6 |
} else { |
63 |
|
|
$out .= "W $w $nr\n"; |
64 |
|
|
} |
65 |
dpavlin |
1.1 |
} |
66 |
|
|
} else { |
67 |
|
|
$out .= "W $fld $nr\n"; |
68 |
|
|
} |
69 |
|
|
} |
70 |
|
|
return c_852_czs($out); |
71 |
|
|
} |
72 |
|
|
|
73 |
|
|
1; |
74 |
|
|
|