/[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

Diff of /common.pm

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

revision 1.5 by dpavlin, Mon Jun 24 13:47:04 2002 UTC revision 1.11 by dpavlin, Thu Oct 24 16:32:00 2002 UTC
# Line 6  use strict; Line 6  use strict;
6    
7  $common::install_dir="/local/index";  $common::install_dir="/local/index";
8  $common::mpsindex="/local/mps-5.3/bin/mpsindex -l 9 -b";  $common::mpsindex="/local/mps-5.3/bin/mpsindex -l 9 -b";
9  $common::isis_data="/var/autofs/misc/isis_data/";  #$common::isis_data="/var/autofs/misc/isis_data/";
10    $common::isis_data="/data/isis_data/";
11  #$common::isis_data="/mnt/20020606/Isis/Data/"; # doma  #$common::isis_data="/mnt/20020606/Isis/Data/"; # doma
12    
13  $common::mps_header="V 5 3  $common::mps_header="V 5 3
# Line 23  F 675 9 UDK Line 24  F 675 9 UDK
24  F 686 10 CC  F 686 10 CC
25  F 990 11 Signatura  F 990 11 Signatura
26  F 991 12 Inventarni broj  F 991 12 Inventarni broj
27  F ISBN 13 ISBN  F ISN 13 ISBN, ISSN
28  F MFN 14 MFN  F MFN 14 MFN
29  F 215+ 15 Materijalni opis  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";  $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) = @_;
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            open(MPS,"| $common::mpsindex -d $common::install_dir/$db_dir -autokey") || die "can't start MPS indexer $common::mpsindex: $!";
54    #       open(MPS,"> /tmp/mpsindex") || die "mps: $!";
55    
56            print S $common::mps_header;
57            print MPS $common::mps_header;
58    
59            return $dir;
60    }
61    
62    #--------------------------------------------------------------------
63    #
64  # mps_expand(nr,"space separated string");  # mps_expand(nr,"space separated string");
65  #  #
66    
# Line 40  sub mps_expand { Line 69  sub mps_expand {
69          my $out = "";          my $out = "";
70          while (my $fld = shift @_) {          while (my $fld = shift @_) {
71                  if ($fld =~ s/\s*[,;\.!?'"<>\[\]]*\s+/ /g) {                  if ($fld =~ s/\s*[,;\.!?'"<>\[\]]*\s+/ /g) {
72                            $fld =~ s/></ /g;
73                          foreach my $w (split(/\s+/,$fld)) {                          foreach my $w (split(/\s+/,$fld)) {
74                                  # FIX: this should be replaced by stemmer!                                  # FIX: this should be replaced by stemmer!
75                                  $out .= "W $w $nr\n";                                  # remove chars from beginning of word
76                                    $w =~ s/^['"<(\[]//g;
77                                    # remove chars from end of word
78                                    $w =~ s/[,;\.!?'">)\]]$//g;
79                                    # preglasi öÖäÄüÜ
80                                    if ($w =~ m/[öÖäÄüÜ]/) {
81                                            $out .= "W $w $nr\n";
82                                            $w =~ s/[öÖ]/oe/g;
83                                            $w =~ s/[äÄ]/ae/g;
84                                            $w =~ s/[üÜ]/ue/g;
85                                            $out .= "W $w $nr\n";
86                                    # Irish Last names
87                                    } elsif (($nr == 1 || $nr == 2 || $nr == 3 || $nr == 6 || $nr == 7 || $nr == 8) && $w =~ m/^Ma?c([A-Z].+)/) {
88                                            $out .= "W Mc$1 $nr\n";
89                                            $out .= "W Mac$1 $nr\n";
90                                    } else {
91                                            $out .= "W $w $nr\n";
92                                    }
93                          }                          }
94                  } else {                  } else {
95                          $out .= "W $fld $nr\n";                          $out .= "W $fld $nr\n";
96                  }                  }
97          }          }
98          return c_852_czs($out);          return $out;
99  }  }
100    
101  1;  1;

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

  ViewVC Help
Powered by ViewVC 1.1.26