IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 8037


Ignore:
Timestamp:
Aug 1, 2006, 12:37:51 PM (20 years ago)
Author:
jhoblitt
Message:

fix -update handling of p2 -- insert exp & images into p2PendingExp & p2PendingImfile

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/ippTools/src/regtool.c

    r8018 r8037  
    1313static p1PendingExpRow *newToP1PendingExp(newExpRow *newExp);
    1414static p2PendingExpRow *newToP2PendingExp(newExpRow *newExp);
     15static p2PendingImfileRow *newImfileToP2PendingImfile(newImfileRow *newImfile);
    1516
    1617# define MODECASE(caseName, func) \
     
    8889    // insert 'new' rawScience & detrendframes
    8990    if (psArrayLength(new) > 0) {
    90         for (long i = 0; i < new->n; i++) {
     91        for (long i = 0; i < psArrayLength(new); i++) {
    9192            newFrame *newFrame = new->data[i];
    9293            if (detrend) {
     
    105106                }
    106107                psFree(frame);
    107             } else {
    108                 // it's a science frame
    109                 rawScienceFrame *frame = newToRawScienceFrame(newFrame);
    110                 if (!frame) {
    111                     psError(PS_ERR_UNKNOWN, false, "failed to convert new frame into a science frame");
     108                continue;
     109            }
     110
     111            // else
     112            // it's a science frame
     113            // insert into into rawScienceExp
     114            rawScienceFrame *frame = newToRawScienceFrame(newFrame);
     115            if (!frame) {
     116                psError(PS_ERR_UNKNOWN, false, "failed to convert new frame into a science frame");
     117                psFree(new);
     118                return false;
     119            }
     120            if (!rawScienceFrameInsert(config, frame)) {
     121                psError(PS_ERR_UNKNOWN, false, "failed to insert frame into the database");
     122                psFree(frame);
     123                psFree(new);
     124                return false;
     125            }
     126            psFree(frame);
     127
     128            // insert into into p2PendingExp
     129            p2PendingExpRow *exp = newToP2PendingExp(newFrame->exposure);
     130            if (!exp) {
     131                psError(PS_ERR_UNKNOWN, false, "failed to convert newExp into a p2PendingExp");
     132                psFree(new);
     133                return false;
     134            }
     135            if (!p2PendingExpInsertObject(config->dbh, exp)) {
     136                psError(PS_ERR_UNKNOWN, false, "failed to insert p2PendingExp into the database");
     137                psFree(exp);
     138                psFree(new);
     139                return false;
     140            }
     141            psFree(exp);
     142
     143            // insert into into p2PendingImfiles
     144            for (long i = 0; i < psArrayLength(newFrame->images); i++) {
     145                p2PendingImfileRow *imfile = newImfileToP2PendingImfile(newFrame->images->data[i]);
     146                if (!p2PendingImfileInsertObject(config->dbh, imfile)) {
     147                psError(PS_ERR_UNKNOWN, false, "failed to insert p2PendingImfile into the database");
     148                    psFree(imfile);
    112149                    psFree(new);
    113150                    return false;
    114151                }
    115                 if (!rawScienceFrameInsert(config, frame)) {
    116                     psError(PS_ERR_UNKNOWN, false, "failed to insert frame into the database");
    117                     psFree(frame);
    118                     psFree(new);
    119                     return false;
    120                 }
    121                 psFree(frame);
    122152            }
    123153        }
    124154    }
     155
    125156    psFree(new);
    126157
     
    224255    );
    225256}
     257
     258static p2PendingImfileRow *newImfileToP2PendingImfile(newImfileRow *newImfile)
     259{
     260    return p2PendingImfileRowAlloc(
     261        newImfile->exp_id,
     262        newImfile->class_id,
     263        newImfile->uri,
     264        "my stats",
     265        "my recipe",
     266        0xff, // XXX calc version number
     267        0xff // XXX calc version number
     268    );
     269}
Note: See TracChangeset for help on using the changeset viewer.