[BACK]Return to index.pm CVS log [TXT][DIR] Up to [local] / wpscripts / ezreturn

Annotation of wpscripts/ezreturn/index.pm, Revision 1.1.1.1

1.1       yason       1: package index;
                      2:
                      3: use strict;
                      4:
                      5: # where to search for .index files
                      6: our @BVOLUMES = ("/B1", "/B2", "/usr/backup", "");     # terminate search with ""
                      7:
                      8: # wideprint related index files
                      9: our $WPZ_INDEX = "wp_zayavki.index";
                     10: our $WPP_INDEX = "wp_proba.index";
                     11:
                     12: # epd related index files
                     13: our $EPDZ_INDEX= "epd_zayavki.index";
                     14: our $EPDP_INDEX= "epd_proba.index";
                     15:
                     16: # wideprint related directories
                     17: our $WPZ_DIR = "wp/zayavki";
                     18: our $WPP_DIR = "wp/proba";
                     19:
                     20: # epd related directories
                     21: our $EPDZ_DIR= "epd/zayavki";
                     22: our $EPDP_DIR= "epd/proba";
                     23:
                     24:
                     25: sub lookup($$)
                     26: {
                     27:        my $file_type = shift;
                     28:        my $file_name = shift;
                     29:        my $bvolume;
                     30:        my @indexfile;
                     31:        my $bfilename;
                     32:        my $bfilepath;
                     33:
                     34:        # lookup file in backups using .index files
                     35:
                     36:        foreach $bvolume (@BVOLUMES) {
                     37:                # stop if "" encountered
                     38:                if ($bvolume eq "") {
                     39:                        print "[index::lookup] $file_name not found on @BVOLUMES\n";
                     40:
                     41:                        return("");
                     42:                }
                     43:
                     44:                if ($file_type eq "wpz") {
                     45:                        # see if we can read index file
                     46:                        if (! -r "$bvolume/$WPZ_INDEX") {
                     47:                                die("index::lookup() can't open $bvolume/$WPZ_INDEX");
                     48:                        }
                     49:
                     50:                        $bfilename = `grep ^$file_name $bvolume/$WPZ_INDEX`;
                     51:                        chomp($bfilename);
                     52:
                     53:                        if ($bfilename ne "" ) {
                     54:                                # file_name has been found in index on this bvolume
                     55:
                     56:                                $bfilepath = "$bvolume/$WPZ_DIR/$bfilename";
                     57:
                     58:                                # check for file existence
                     59:                                if (-e $bfilepath) {
                     60:                                        # file exists
                     61:                                        print "[index::lookup] found $bfilepath\n";
                     62:
                     63:                                        return($bfilepath);
                     64:                                        # NOTREACHED
                     65:                                } # else, file listed in index but we can't stat it
                     66:                                print "[index::lookup] $bfilename listed in $bvolume/$WPZ_INDEX but it doesn't exist\n";
                     67:                                # will look in next bvolume
                     68:                                # next
                     69:
                     70:                        } # else, file hasn't been found in index on that bvolume
                     71:                        # proceed to next bvolume, if any
                     72:                        next;
                     73:                } # ! "wpz"
                     74:
                     75:                if ($file_type eq "wpp") {
                     76:                        # see if we can read index file
                     77:                        if (! -r "$bvolume/$WPP_INDEX") {
                     78:                                die("index::lookup() can't open $bvolume/$WPP_INDEX");
                     79:                        }
                     80:
                     81:                        $bfilename = `grep ^$file_name $bvolume/$WPP_INDEX`;
                     82:                        chomp($bfilename);
                     83:
                     84:                        if ($bfilename ne "" ) {
                     85:                                # file_name has been found in index on this bvolume
                     86:
                     87:                                $bfilepath = "$bvolume/$WPP_DIR/$bfilename";
                     88:
                     89:                                # check for file existence
                     90:                                if (-e $bfilepath) {
                     91:                                        # file exists
                     92:                                        print "[index::lookup] found $bfilepath\n";
                     93:
                     94:                                        return($bfilepath);
                     95:                                        # NOTREACHED
                     96:                                } # else, file listed in index but we can't stat it
                     97:                                print "[index::lookup] $bfilename listed in $bvolume/$WPP_INDEX but it doesn't exist\n";
                     98:                                # will look in next bvolume
                     99:                                # next
                    100:
                    101:                        } # else, file hasn't been found in index on that bvolume
                    102:                        # proceed to next bvolume, if any
                    103:                        next;
                    104:                } # ! "wpp"
                    105:
                    106:                if ($file_type eq "epdz") {
                    107:                        # see if we can read index file
                    108:                        if (! -r "$bvolume/$EPDZ_INDEX") {
                    109:                                die("index::lookup() can't open $bvolume/$EPDZ_INDEX");
                    110:                        }
                    111:
                    112:                        $bfilename = `grep ^$file_name $bvolume/$EPDZ_INDEX`;
                    113:                        chomp($bfilename);
                    114:
                    115:                        if ($bfilename ne "" ) {
                    116:                                # file_name has been found in index on this bvolume
                    117:
                    118:                                $bfilepath = "$bvolume/$EPDZ_DIR/$bfilename";
                    119:
                    120:                                # check for file existence
                    121:                                if (-e $bfilepath) {
                    122:                                        # file exists
                    123:                                        print "[index::lookup] found $bfilepath\n";
                    124:
                    125:                                        return($bfilepath);
                    126:                                        # NOTREACHED
                    127:                                } # else, file listed in index but we can't stat it
                    128:                                print "[index::lookup] $bfilename listed in $bvolume/$EPDZ_INDEX but it doesn't exist\n";
                    129:                                # will look in next bvolume
                    130:                                # next
                    131:
                    132:                        } # else, file hasn't been found in index on that bvolume
                    133:                        # proceed to next bvolume, if any
                    134:                        next;
                    135:                } # ! "epdz"
                    136:
                    137:                if ($file_type eq "epdp") {
                    138:                        # see if we can read index file
                    139:                        if (! -r "$bvolume/$EPDP_INDEX") {
                    140:                                die("index::lookup() can't open $bvolume/$EPDP_INDEX");
                    141:                        }
                    142:
                    143:                        $bfilename = `grep ^$file_name $bvolume/$EPDP_INDEX`;
                    144:                        chomp($bfilename);
                    145:
                    146:                        if ($bfilename ne "" ) {
                    147:                                # file_name has been found in index on this bvolume
                    148:
                    149:                                $bfilepath = "$bvolume/$EPDP_DIR/$bfilename";
                    150:
                    151:                                # check for file existence
                    152:                                if (-e $bfilepath) {
                    153:                                        # file exists
                    154:                                        print "[index::lookup] found $bfilepath\n";
                    155:
                    156:                                        return($bfilepath);
                    157:                                        # NOTREACHED
                    158:                                } # else, file listed in index but we can't stat it
                    159:                                print "[index::lookup] $bfilename listed in $bvolume/$EPDP_INDEX but it doesn't exist\n";
                    160:                                # will look in next bvolume
                    161:                                # next
                    162:
                    163:                        } # else, file hasn't been found in index on that bvolume
                    164:                        # proceed to next bvolume, if any
                    165:                        next;
                    166:                } # ! "epdp"
                    167:
                    168:        }
                    169:
                    170: }
                    171:
                    172: return 1;
                    173:

CVSweb