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

Contents of /common.pm

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.12 - (show annotations)
Sun Oct 27 21:20:33 2002 UTC (21 years, 4 months ago) by dpavlin
Branch: MAIN
CVS Tags: HEAD
Changes since 1.11: +6 -3 lines
added debug

1 #!/usr/bin/perl
2
3 #package common;
4
5 use strict;
6
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="/data/isis_data/";
11 #$common::isis_data="/mnt/20020606/Isis/Data/"; # doma
12
13 $common::mps_header="V 5 3
14 L hr-HR
15 F 700+ 1 Autor
16 F 200+ 2 Naslov
17 F 210+ 3 Izdavanje
18 F 225 4 Nakladnièka cjelina
19 F 300+ 5 Napomene
20 F 330 6 Sadr¾aj
21 F 464 7 Analitièki radovi
22 F 610 8 Kljuène rijeèi
23 F 675 9 UDK
24 F 686 10 CC
25 F 990 11 Signatura
26 F 991 12 Inventarni broj
27 F ISN 13 ISBN, ISSN
28 F MFN 14 MFN
29 F 215+ 15 Materijalni opis
30 F 101 16 Jezik
31 F tip 17 Tip graðe
32 ";
33
34 $common::database_cf="/local/search/databases.cf";
35
36 #--------------------------------------------------------------------
37 #
38 # open_data_files($db_dir)
39 #
40 # input: $db_dir - database directory name (e.g. 'ps')
41 # return: path on filesystem to data dir
42
43 sub open_data_files {
44 my ($db_dir,$debug) = @_;
45
46 mkdir "$common::install_dir/$db_dir" if (!-e "$common::install_dir/$db_dir");
47 mkdir "$common::install_dir/$db_dir/data" if (!-e "$common::install_dir/$db_dir/data");
48
49 my $dir="$common::install_dir/$db_dir/data";
50
51 open(S,"> $dir/stream") || die "can't open output $dir/stream: $!";
52 open(R,"> $dir/bib") || die "can't open output $dir/bib: $!";
53 if (! $debug) {
54 open(MPS,"| $common::mpsindex -d $common::install_dir/$db_dir -autokey") || die "can't start MPS indexer $common::mpsindex: $!";
55 } else {
56 open(MPS,"> /tmp/mpsindex") || die "mps: $!";
57 }
58
59 print S $common::mps_header;
60 print MPS $common::mps_header;
61
62 return $dir;
63 }
64
65 #--------------------------------------------------------------------
66 #
67 # mps_expand(nr,"space separated string");
68 #
69
70 sub mps_expand {
71 my $nr = shift @_;
72 my $out = "";
73 while (my $fld = shift @_) {
74 if ($fld =~ s/\s*[,;\.!?'"<>\[\]]*\s+/ /g) {
75 $fld =~ s/></ /g;
76 foreach my $w (split(/\s+/,$fld)) {
77 # FIX: this should be replaced by stemmer!
78 # remove chars from beginning of word
79 $w =~ s/^['"<(\[]//g;
80 # remove chars from end of word
81 $w =~ s/[,;\.!?'">)\]]$//g;
82 # preglasi öÖäÄüÜ
83 if ($w =~ m/[öÖäÄüÜ]/) {
84 $out .= "W $w $nr\n";
85 $w =~ s/[öÖ]/oe/g;
86 $w =~ s/[äÄ]/ae/g;
87 $w =~ s/[üÜ]/ue/g;
88 $out .= "W $w $nr\n";
89 # Irish Last names
90 } elsif (($nr == 1 || $nr == 2 || $nr == 3 || $nr == 6 || $nr == 7 || $nr == 8) && $w =~ m/^Ma?c([A-Z].+)/) {
91 $out .= "W Mc$1 $nr\n";
92 $out .= "W Mac$1 $nr\n";
93 } else {
94 $out .= "W $w $nr\n";
95 }
96 }
97 } else {
98 $out .= "W $fld $nr\n";
99 }
100 }
101 return $out;
102 }
103
104 1;
105

  ViewVC Help
Powered by ViewVC 1.1.26