IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Mar 16, 2023, 12:48:31 PM (3 years ago)
Author:
eugene
Message:

various updates : adding stage 2

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/tools/eam/rawfix.20230221/src/check_chip_locations.pl

    r42406 r42415  
    6767        my ($Nmain, $Nback, $Ndead) = &check_instance_xattr ($inforows, $ext_id, $data_st, $md5_sum);
    6868
    69         &check_instance_state ($outfh, $ext_id, $Nmain, $Nback, $Ndead);
     69        &check_instance_state ($outfh, $ext_id, $data_st, $md5_sum, $Nmain, $Nback, $Ndead);
    7070    }
    7171
     
    249249    my $outfh = $_[0];
    250250    my $extID = $_[1];
    251     my $Nmain = $_[2];
    252     my $Nback = $_[3];
    253     my $Ndead = $_[4];
    254 
    255     # SKIP : already fixed
     251    my $data_st = $_[2];
     252    my $md5_sum = $_[3];
     253    my $Nmain = $_[4];
     254    my $Nback = $_[5];
     255    my $Ndead = $_[6];
     256
     257    my $outinfo = "$extID $data_st $md5_sum";
     258
     259    # GOOD : already fixed
    256260    if (($Nmain == 1) && ($Nback == 1)) {
    257         print $outfh "GOOD: $extID\n";
    258         return;
    259     }
    260 
    261     # single copy @ ITC, no backup
     261        print $outfh "GOOD: $outinfo\n";
     262        return;
     263    }
     264
     265    # SING : single copy @ ITC, no backup
    262266    # make a backup
    263267    if (($Nmain == 1) && ($Nback == 0)) {
    264         print $outfh "SING: $extID\n";
    265         return;
    266     }
    267 
    268     # ITC files with a single backup copies need to be culled
    269     # cull Nmain - 1
    270     if (($Nmain > 1) && ($Nback == 1)) {
    271         print $outfh "CULL: $extID\n";
    272         return;
    273     }
    274 
    275     # multiple copies @ ITC
     268        print $outfh "SING: $outinfo\n";
     269        return;
     270    }
     271
     272    # SBCK : single copy @ ATRC, no main copy
     273    # make a backup @ ITC
     274    if (($Nmain == 0) && ($Nback == 1)) {
     275        print $outfh "SBCK: $outinfo\n";
     276        return;
     277    }
     278
     279    # DUPS : multiple copies @ ITC, none at ATRC
    276280    # make a backup and cull Nmain - 1
    277281    if (($Nmain > 1) && ($Nback == 0)) {
    278         print $outfh "DUPS: $extID\n";
    279         return;
    280     }
    281 
    282     # no more valid instances
    283     if (($Nmain == 0) && ($Nback == 0) && $Ndead) {
    284         print $outfh "DEAD: $extID\n";
    285         return;
    286     }
    287     if (($Nmain == 0) && ($Nback == 0) && ($Ndead == 0)) {
    288         print $outfh "GONE: $extID\n";
    289         return;
    290     }
    291 
    292     # single copy @ ATRC
    293     # make a backup @ ITC
    294     if (($Nmain == 0) && ($Nback == 1)) {
    295         print $outfh "SBCK: $extID\n";
    296         return;
    297     }
    298 
    299     # multiple copies @ ATRC, but none at ITC
     282        print $outfh "DUPS: $outinfo\n";
     283        return;
     284    }
     285
     286    # XBCK : multiple copies @ ATRC, but none at ITC
    300287    # make a backup at ITC, cull ATRC extras
    301288    if (($Nmain == 0) &&  ($Nback > 1)) {
    302         print $outfh "XBCK: $extID\n";
     289        print $outfh "XBCK: $outinfo\n";
     290        return;
     291    }
     292
     293    # DEAD : no more valid instances
     294    if (($Nmain == 0) && ($Nback == 0) && $Ndead) {
     295        print $outfh "DEAD: $outinfo\n";
     296        return;
     297    }
     298    # GONE : no more valid instances
     299    if (($Nmain == 0) && ($Nback == 0) && ($Ndead == 0)) {
     300        print $outfh "GONE: $outinfo\n";
     301        return;
     302    }
     303
     304    # CUL1 : multiple ITC files, single backup
     305    # cull only ITC
     306    if (($Nmain > 1) && ($Nback == 1)) {
     307        print $outfh "CUL1: $outinfo\n";
     308        return;
     309    }
     310
     311    # CUL2 : multiple ATRC files, single ITC
     312    # cull only ATRC
     313    if (($Nback > 1) && ($Nmain == 1)) {
     314        print $outfh "CUL2: $outinfo\n";
     315        return;
     316    }
     317
     318    # CUL3 : excess ATRC & ITC files, cull from both?
     319    # cull Nmain - 1
     320    if (($Nback > 1) && ($Nmain > 1)) {
     321        print $outfh "CUL3: $outinfo\n";
    303322        return;
    304323    }
    305324
    306325    # unexpected state:
    307     print $outfh "OOPS: $extID\n";
     326    print $outfh "OOPS: $outinfo\n";
    308327    return;
    309328}
Note: See TracChangeset for help on using the changeset viewer.