IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 116


Ignore:
Timestamp:
Oct 8, 2003, 12:05:22 AM (23 years ago)
Author:
eugene
Message:

fixed cleanup functions

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Ohana/src/perl/src/mkfringe

    r70 r116  
    289289    if ((@ARGV != 1) && (@ARGV != 2)) { &escape ("USAGE: $MKFRINGE cleanup [mode]"); }
    290290
    291     $DEBUG = 0;
    292     $mode = "partial";
    293 
    294     if (@ARGV == 2) {
    295         $mode = $ARGV[1];
    296     }
    297     if (($mode ne "partial") && ($mode ne "total") && ($mode ne "test1") && ($mode ne "test2")) {
    298         &escape ("invalid cleanup mode $mode: use 'partial', 'total', 'test1', 'test2'");
    299     }
    300     if ($mode eq "test1") { $mode = partial; $DEBUG = 1; }
    301     if ($mode eq "test2") { $mode = total; $DEBUG = 1; }
    302 
    303     # partial: fringe/*.fr.fits, fringe/*.sm.fits, proc/*.tenbin, proc/*.medbin
    304     # total: fringe/*.fr.fits, fringe/*.sm.fits, proc/*
    305 
    306     $fringe = mkfiles ("fringe");
    307     $proc   = mkfiles ("proc");
    308 
    309     if ($mode eq "partial") {
    310         @dlist = ("$fringe/*.fr.fits", "$fringe/*.sm.fits", "$proc/*.tenbin", "$proc/*.medbin");
    311     } else {
    312         @dlist = ("$fringe/*.fr.fits", "$fringe/*.sm.fits", "$proc/*");
    313     }
    314 
    315     @list = ();
    316     foreach $name (@dlist) {
    317         @list1 = glob ($name);
    318         @list = (@list, @list1);
    319     }
    320 
    321     @flist = ();
    322     foreach $name (@list) {
    323         if ($DEBUG) {
    324             print STDOUT "$name\n";
    325         } else {
    326             if (system ("rm -f $name")) {
    327                 @flist = (@flist, $name);
     291    @list = load_config ();
     292
     293    $detdir = mkfiles ("detdir");
     294    open (CF, ">$detdir/clean.fail");
     295
     296    $Nmiss = 0;
     297    $Nfail = 0;
     298    $Ngood = 0;
     299
     300    $mode = "partial";
     301    if (@ARGV == 2) { $mode = $ARGV[1]; }
     302
     303    if (($mode ne "partial") && ($mode ne "total")) { &escape ("invalid cleanup mode $mode: use 'partial' or 'total'"); }
     304
     305    foreach $confline (@list) {
     306        $status = gtconfig ($confline, "status");
     307        if ($status ne "done") { next; }
     308
     309        print STDERR "deleting files from $confline\n";
     310        $confline = stconfig ($confline, "status", "running.clean");
     311        save_config (@list);
     312
     313        foreach $ccd (@ccds) {
     314            @dlist = ();
     315
     316            # delete these specific files:
     317            push @dlist, &mknames ("frfile", $confline, $ccd);
     318            push @dlist, &mknames ("smfile", $confline, $ccd);
     319
     320            # delete file, if it exists
     321            foreach $file (@dlist) {
     322                if (! -e $file) { $Nmiss ++; next; }
     323                if (!unlink $file) { $Nfail ++; print CF "$file\n"; next; }
     324                $Ngood ++;
    328325            }
    329326        }
    330     }
    331 
    332     if (@flist) {
    333         print STDERR "files which could not be deleted:\n";
    334         foreach $name (@flist) {
    335             print STDERR "$name\n";
    336         }
    337     }
     327
     328        # delete final MEF image
     329        @dlist = ();
     330        push @dlist, &mknames ("mef", $confline);
     331
     332        # delete proc defringe, medbin images
     333        $name = &mknames ("detrend", $confline);
     334        open (FILE, $name);
     335        @deflist = <FILE>;
     336        close (FILE);
     337
     338        $proc = &mkfiles ("proc");
     339        foreach $line (@deflist) {
     340            ($tmp, $root) = split (" ", $line);
     341            push @dlist, <$proc/$root.med/*.fits>;
     342            push @dlist, <$proc/$root.def/*.fits>;
     343        }           
     344
     345        # delete file, if it exists
     346        foreach $file (@dlist) {
     347            if (! -e $file) { $Nmiss ++; next; }
     348            if (!unlink $file) { $Nfail ++; print CF "$file\n"; next; }
     349            $Ngood ++;
     350        }
     351
     352        $confline = stconfig ($confline, "status", "clean");
     353        save_config (@list);
     354    }
     355    close (CF);
     356
     357    print STDERR "$Ngood files deleted\n";
     358    print STDERR "$Nmiss files already removed\n";
     359    print STDERR "$Nfail files not deleted, see '$detdir/clean.fail'\n";
     360
    338361    &goodbye;
    339362}
     
    22232246            last;
    22242247        }
     2248        # raw fringe image
     2249        if ($type eq "frfile") {
     2250            $dir = mkfiles ("fringe");
     2251            $value = sprintf "$dir/$words[0].$words[1].$words[2].$ccd.$words[3].fr.fits";
     2252            last;
     2253        }
    22252254        # master list of input images
    22262255        if ($type eq "master") {
Note: See TracChangeset for help on using the changeset viewer.