Index: /trunk/ippScripts/scripts/ipp_cleanup.pl
===================================================================
--- /trunk/ippScripts/scripts/ipp_cleanup.pl	(revision 18140)
+++ /trunk/ippScripts/scripts/ipp_cleanup.pl	(revision 18141)
@@ -19,9 +19,11 @@
 
 # Parse the command-line arguments
-my ($camera, $outroot, $dbname, $mode, $no_op, $help);
-GetOptions('camera|i=s'     => \$camera,    # user-supplied camera name
-	   'outroot|o=s'    => \$outroot,   # basename for files
+my ($stage, $camera, $class_id, $mode, $path_base, $dbname, $no_op, $help);
+GetOptions('stage=s'        => \$stage,     # which analysis stage to clean?
+	   'camera|i=s'     => \$camera,    # user-supplied camera name
+	   'class_id=s'     => \$class_id,  # class_id (only needed for certain stages)
+	   'mode|m=s'       => \$mode,      # cleanup mode (clean / purge)
+	   'path_base=s'    => \$path_base, # basename for files
 	   'dbname|d=s'     => \$dbname,    # Database name
-	   'mode|m=s'       => \$mode,      # cleanup mode (clean / purge)
 	   'no-op'          => \$no_op,     # pretend but don't actually inject
 	   'help'           => \$help       # give help listing
@@ -32,14 +34,14 @@
     defined $help;
 
-pod2usage( -msg => "Usage: $0 --camera (name) --outroot (path) --stage (stage) --mode (mode) [--dbname dbname] [--no-op] [--help]", 
+pod2usage( -msg => "Usage: $0 --camera (name) [--class_id class_id] --stage (stage) --mode (mode) --path_base (path) [--dbname dbname] [--no-op] [--help]", 
 	   -exitval => 2 ) if 
     scalar @ARGV == 0;
 
-pod2usage( -msg => "Required options:--camera (name) --outroot (path) --stage (stage) --mode (mode)",
+pod2usage( -msg => "Required options:--camera (name) --stage (stage) --mode (mode) --path_base (path)",
 	   -exitval => 3) unless 
     defined $camera and
-    defined $outroot and
     defined $stage and
-    defined $mode;
+    defined $mode and
+    defined $path_base;
 
 # $mode must be one of "clean" or "purge"
@@ -53,36 +55,53 @@
 my @files = ();
 
-# XXX : should ipp_cleanup.pl determine the class ID values, or should it require them as input?
-
+# choice of files to delete depends on the stage
 if ($stage eq "chip") {
+    unless defined $class_id die "cleanup for chip stage requires class_id\n";
     # delete the temporary image datafiles
-    addFilename (\@files, "PPIMAGE.OUTPUT", $outroot, $class_id);
-    addFilename (\@files, "PPIMAGE.OUTPUT.MASK", $outroot, $class_id);
-    addFilename (\@files, "PPIMAGE.OUTPUT.WEIGHT", $outroot, $class_id);
-    addFilename (\@files, "PPIMAGE.CHIP", $outroot, $class_id);
-    addFilename (\@files, "PPIMAGE.CHIP.MASK", $outroot, $class_id);
-    addFilename (\@files, "PPIMAGE.CHIP.WEIGHT", $outroot, $class_id);
+    addFilename (\@files, "PPIMAGE.OUTPUT", $path_base, $class_id);
+    addFilename (\@files, "PPIMAGE.OUTPUT.MASK", $path_base, $class_id);
+    addFilename (\@files, "PPIMAGE.OUTPUT.WEIGHT", $path_base, $class_id);
+    addFilename (\@files, "PPIMAGE.CHIP", $path_base, $class_id);
+    addFilename (\@files, "PPIMAGE.CHIP.MASK", $path_base, $class_id);
+    addFilename (\@files, "PPIMAGE.CHIP.WEIGHT", $path_base, $class_id);
     if ($mode eq "purge") {
 	# additional files to remove for 'purge' mode
-	addFilename (\@files, "PPIMAGE.OUTPUT.FPA1", $outroot, $class_id);
-	addFilename (\@files, "PPIMAGE.OUTPUT.FPA2", $outroot, $class_id);
-	addFilename (\@files, "PPIMAGE.BIN1", $outroot, $class_id);
-	addFilename (\@files, "PPIMAGE.BIN2", $outroot, $class_id);
-	addFilename (\@files, "PPIMAGE.JPEG1", $outroot, $class_id);
-	addFilename (\@files, "PPIMAGE.JPEG", $outroot, $class_id);
-	addFilename (\@files, "PPIMAGE.STATS", $outroot, $class_id);
+	addFilename (\@files, "PPIMAGE.OUTPUT.FPA1", $path_base, $class_id);
+	addFilename (\@files, "PPIMAGE.OUTPUT.FPA2", $path_base, $class_id);
+	addFilename (\@files, "PPIMAGE.BIN1", $path_base, $class_id);
+	addFilename (\@files, "PPIMAGE.BIN2", $path_base, $class_id);
+	addFilename (\@files, "PPIMAGE.JPEG1", $path_base, $class_id);
+	addFilename (\@files, "PPIMAGE.JPEG", $path_base, $class_id);
+	addFilename (\@files, "PPIMAGE.STATS", $path_base, $class_id);
     }
+    delete_files (\@files);
+    
+    # need to run command "chiptool -donecleanup"
+    exit 0;
 }
 
-exit 0;
+die "unknown stage for ipp_cleanup.pl\n";
+exit 1;
+
+sub delete_files 
+{
+    my @files = shift; # reference to a list of files to unlink
+    
+    # this script is, of course, very dangerous.  
+    foreach my $file (@$files) {
+	echo "unlinking $file\n";
+	# unlink $file;
+    }
+    return 1;
+}
 
 sub addFilename 
 {
-    my $files    = shift; # reference to a list of files to unlink
-    my $filerule = shift; # filerule to add
-    my $outroot  = shift; # base filename
-    my $class_id = shift; # class_id, if needed
+    my $files      = shift; # reference to a list of files to unlink
+    my $filerule   = shift; # filerule to add
+    my $path_base  = shift; # base filename
+    my $class_id   = shift; # class_id, if needed
 
-    my $file = $ipprc->filename($filerule, $outroot, $class_id);
+    my $file = $ipprc->filename($filerule, $path_base, $class_id);
 
     push @$files, $file;
