Changeset 18191
- Timestamp:
- Jun 18, 2008, 5:56:53 PM (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/eam_branch_20080618/ippScripts/scripts/ipp_cleanup.pl
r18141 r18191 19 19 20 20 # Parse the command-line arguments 21 my ($stage, $camera, $ class_id, $mode, $path_base, $dbname, $no_op, $help);21 my ($stage, $camera, $stage_id, $mode, $path_base, $dbname, $no_op, $help); 22 22 GetOptions('stage=s' => \$stage, # which analysis stage to clean? 23 23 'camera|i=s' => \$camera, # user-supplied camera name 24 ' class_id=s' => \$class_id, # class_id(only needed for certain stages)24 'stage_id=s' => \$stage_id, # id for this stage (only needed for certain stages) 25 25 'mode|m=s' => \$mode, # cleanup mode (clean / purge) 26 26 'path_base=s' => \$path_base, # basename for files 27 27 'dbname|d=s' => \$dbname, # Database name 28 'verbose' => \$verbose, # Print to stdout 28 29 'no-op' => \$no_op, # pretend but don't actually inject 29 30 'help' => \$help # give help listing … … 34 35 defined $help; 35 36 36 pod2usage( -msg => "Usage: $0 --camera (name) [--class_id class_id] --stage (stage)--mode (mode) --path_base (path) [--dbname dbname] [--no-op] [--help]",37 pod2usage( -msg => "Usage: $0 --camera (name) --stage (stage) --stage_id stage_id --mode (mode) --path_base (path) [--dbname dbname] [--no-op] [--help]", 37 38 -exitval => 2 ) if 38 39 scalar @ARGV == 0; … … 52 53 $ipprc->define_camera($camera); 53 54 55 my $mdcParser = PS::IPP::Metadata::Config->new; # Parser for metadata config files 56 54 57 my $found = 0; 55 my @files = ();56 58 57 59 # choice of files to delete depends on the stage 58 60 if ($stage eq "chip") { 59 unless defined $class_id die "cleanup for chip stage requires class_id\n"; 60 # delete the temporary image datafiles 61 addFilename (\@files, "PPIMAGE.OUTPUT", $path_base, $class_id); 62 addFilename (\@files, "PPIMAGE.OUTPUT.MASK", $path_base, $class_id); 63 addFilename (\@files, "PPIMAGE.OUTPUT.WEIGHT", $path_base, $class_id); 64 addFilename (\@files, "PPIMAGE.CHIP", $path_base, $class_id); 65 addFilename (\@files, "PPIMAGE.CHIP.MASK", $path_base, $class_id); 66 addFilename (\@files, "PPIMAGE.CHIP.WEIGHT", $path_base, $class_id); 67 if ($mode eq "purge") { 68 # additional files to remove for 'purge' mode 69 addFilename (\@files, "PPIMAGE.OUTPUT.FPA1", $path_base, $class_id); 70 addFilename (\@files, "PPIMAGE.OUTPUT.FPA2", $path_base, $class_id); 71 addFilename (\@files, "PPIMAGE.BIN1", $path_base, $class_id); 72 addFilename (\@files, "PPIMAGE.BIN2", $path_base, $class_id); 73 addFilename (\@files, "PPIMAGE.JPEG1", $path_base, $class_id); 74 addFilename (\@files, "PPIMAGE.JPEG", $path_base, $class_id); 75 addFilename (\@files, "PPIMAGE.STATS", $path_base, $class_id); 61 62 # select the imfiles for this entry 63 # dettool -pendingcleanupimfile -chip_id $stage_id 64 65 # Get list of component files 66 my $imfiles; # Array of component files 67 my $command = "$dettool -pendingcleanupimfile -chip_id $stage_id"; # Command to run 68 $command .= " -dbname $dbname" if defined $dbname; 69 my ( $success, $error_code, $full_buf, $stdout_buf, $stderr_buf ) = run(command => $command, verbose => $verbose); 70 unless ($success) { 71 $error_code = (($error_code >> 8) or $PS_EXIT_PROG_ERROR); 72 &my_die("Unable to perform camtool: $error_code", $cam_id, $error_code); 76 73 } 77 delete_files (\@files); 78 79 # need to run command "chiptool -donecleanup" 74 my $metadata = $mdcParser->parse(join "", @$stdout_buf) or 75 &my_die("Unable to parse metadata config doc", $cam_id, $PS_EXIT_PROG_ERROR); 76 77 # extract the metadata for the files into a hash list 78 $imfiles = parse_md_list($metadata) or 79 &my_die("Unable to parse metadata list", $cam_id, $PS_EXIT_PROG_ERROR); 80 81 # loop over all of the imfiles, determine the path_base and class_id for each 82 foreach my $imfile (@$imfiles) { 83 my $class_id = $imfile->{class_id}; 84 my $path_base = $imfile->{path_base}; 85 86 # array of actual filenames to delete 87 my @files = (); 88 89 # delete the temporary image datafiles 90 addFilename (\@files, "PPIMAGE.OUTPUT", $path_base, $class_id); 91 addFilename (\@files, "PPIMAGE.OUTPUT.MASK", $path_base, $class_id); 92 addFilename (\@files, "PPIMAGE.OUTPUT.WEIGHT", $path_base, $class_id); 93 addFilename (\@files, "PPIMAGE.CHIP", $path_base, $class_id); 94 addFilename (\@files, "PPIMAGE.CHIP.MASK", $path_base, $class_id); 95 addFilename (\@files, "PPIMAGE.CHIP.WEIGHT", $path_base, $class_id); 96 if ($mode eq "purge") { 97 # additional files to remove for 'purge' mode 98 addFilename (\@files, "PPIMAGE.OUTPUT.FPA1", $path_base, $class_id); 99 addFilename (\@files, "PPIMAGE.OUTPUT.FPA2", $path_base, $class_id); 100 addFilename (\@files, "PPIMAGE.BIN1", $path_base, $class_id); 101 addFilename (\@files, "PPIMAGE.BIN2", $path_base, $class_id); 102 addFilename (\@files, "PPIMAGE.JPEG1", $path_base, $class_id); 103 addFilename (\@files, "PPIMAGE.JPEG", $path_base, $class_id); 104 addFilename (\@files, "PPIMAGE.STATS", $path_base, $class_id); 105 } 106 107 # actual command to delete the files 108 $status = &delete_files (\@files); 109 110 if (! $status) { 111 my $command = "$dettool -updateimfile -chip_id $stage_id -class_id $class_id -code 55"; # Command to run 112 $command .= " -dbname $dbname" if defined $dbname; 113 # call the command 114 $fault = 1; 115 } 116 } 117 118 if (! $fault) { 119 my $command = "$dettool -updaterun -chip_id $chip_id -state clean";; # Command to run 120 $command .= " -dbname $dbname" if defined $dbname; 121 # need to run command "chiptool -donecleanup" 122 } 80 123 exit 0; 81 124 }
Note:
See TracChangeset
for help on using the changeset viewer.
