IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 24040


Ignore:
Timestamp:
May 3, 2009, 2:49:05 PM (17 years ago)
Author:
eugene
Message:

check for zero-length skycell and rebuild if needed

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/PS-IPP-Config/lib/PS/IPP/Config.pm

    r23747 r24040  
    564564
    565565    my $scheme = file_scheme($name); # The scheme, e.g., file://, path://
     566
    566567    if (defined $scheme and lc($scheme) eq 'neb') {
    567568        $name = eval { $self->nebulous->create( $name ) };
     569
    568570        if ($@ or not defined $name) {
    569571            carp "Unable to create Nebulous handle $name";
     
    12611263    $tess_dir = $self->convert_filename_absolute( $tess_dir ) or return undef;
    12621264
    1263     unless ($self->file_exists( $outname )) {
    1264         my $outnameResolved = $self->file_create( $outname ) or return undef; # Resolved filename, for Nebulous
    1265         my $command = "$dvoImageExtract -D CATDIR $tess_dir $skycell_id -o $outnameResolved";
    1266         my ( $success, $error_code, $full_buf, $stdout_buf, $stderr_buf ) =
    1267             run(command => $command, verbose => $verbose);
    1268         ( carp "Unable to perform dvoImageExtract for $tess_id $skycell_id\n" and return undef ) unless ($success and $self->file_exists( $outname ));
    1269     }
     1265    my $outnameResolved;
     1266
     1267    # check if file actually exists
     1268    if ($self->file_exists( $outname )) {
     1269        # double check that the file is not zero-length (eg: dvoImageExtract crashed)
     1270        $outnameResolved = $self->file_resolve( $outname, 1 ) or return undef; # Resolved filename, for Nebulous
     1271        my @stats = stat($outnameResolved);
     1272        if ($stats[7]) {
     1273            return 1;
     1274        }
     1275    }
     1276
     1277    unless (defined $outnameResolved) {
     1278        $outnameResolved = $self->file_create( $outname ) or return undef; # Resolved filename, for Nebulous
     1279    }
     1280    my $command = "$dvoImageExtract -D CATDIR $tess_dir $skycell_id -o $outnameResolved";
     1281    my ( $success, $error_code, $full_buf, $stdout_buf, $stderr_buf ) =
     1282        run(command => $command, verbose => $verbose);
     1283    ( carp "Unable to perform dvoImageExtract for $tess_id $skycell_id\n" and return undef ) unless ($success and $self->file_exists( $outname ));
    12701284
    12711285    return 1;
Note: See TracChangeset for help on using the changeset viewer.