IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Jan 20, 2008, 3:48:37 PM (18 years ago)
Author:
eugene
Message:

merging changes from JHs end_stage branch (new end_stage field and related features; substantial cleanup via macros)

File:
1 edited

Legend:

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

    r14214 r16170  
    9393}
    9494
    95 #define ADDRENAMEPARAMSTR(from, to, oldname, newname, comment) \
    96 { \
    97     bool status = false; \
    98     psString str = psMetadataLookupStr(&status, from, "-" oldname); \
    99     if (!status) { \
    100         psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -" oldname); \
    101         return false; \
    102     } \
    103     if (str) { \
    104         if (!psMetadataAddStr(to, PS_LIST_TAIL, newname, PS_META_DUPLICATE_OK, comment, str)) { \
    105             psError(PS_ERR_UNKNOWN, false, "failed to add item " newname); \
    106             psFree(to); \
    107             return false; \
    108         } \
    109     } \
    110 }
    111 
    112 #define ADDPARAMSTR(from, to, name) \
    113   ADDRENAMEPARAMSTR(from, to, name, name, "==")
    114 
    115 #define ADDRENAMEPARAMF(from, to, type, oldname, newname, comment) \
    116 { \
    117     bool status = false; \
    118     ps##type var = psMetadataLookup##type(&status, from, "-" oldname); \
    119     if (!status) { \
    120         psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -" oldname); \
    121         return false; \
    122     } \
    123     if (!isnan(var)) { \
    124         if (!psMetadataAdd##type(to, PS_LIST_TAIL, newname, PS_META_DUPLICATE_OK, comment, var)) { \
    125             psError(PS_ERR_UNKNOWN, false, "failed to add item " newname); \
    126             psFree(to); \
    127             return false; \
    128         } \
    129     } \
    130 }
    131 
    132 #define ADDPARAMF(from, to, type, name) \
    133   ADDRENAMEPARAMF(from, to, type, name, name, "==")
    13495
    13596static bool queueMode(pxConfig *config)
    13697{
    13798    PS_ASSERT_PTR_NON_NULL(config, NULL);
     99
     100    PXOPT_LOOKUP_STR(exp_id, config->args, "-exp_id", false, false);
    138101
    139102    psMetadata *where = psMetadataAlloc();
    140103    // convert exp_id into a psS64
    141 {
    142     bool status = false;
    143     psString var = psMetadataLookupStr(&status, config->args, "-exp_id");
    144     if (!status) {
    145         psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -exp_id");
    146         return false;
    147     }
    148     if (var) {
    149         if (!psMetadataAddS64(where, PS_LIST_TAIL, "exp_id", 0, "==", (psS64)atoll(var))) {
     104    if (exp_id) {
     105        if (!psMetadataAddS64(where, PS_LIST_TAIL, "exp_id", 0, "==", (psS64)atoll(exp_id))) {
    150106            psError(PS_ERR_UNKNOWN, false, "failed to add item exp_id");
    151107            psFree(where);
     
    153109        }
    154110    }
    155 }
    156     ADDPARAMSTR(config->args, where, "exp_name");
    157     ADDRENAMEPARAMSTR(config->args, where, "inst", "camera", "==");
    158     ADDPARAMSTR(config->args, where, "telescope");
    159     ADDPARAMSTR(config->args, where, "dateobs_begin");
    160     ADDPARAMSTR(config->args, where, "dateobs_end");
    161     ADDPARAMSTR(config->args, where, "exp_tag");
    162     ADDPARAMSTR(config->args, where, "exp_type");
    163     ADDPARAMSTR(config->args, where, "filelevel");
    164     ADDPARAMSTR(config->args, where, "reduction");
    165     ADDPARAMSTR(config->args, where, "filter");
    166     ADDRENAMEPARAMF(config->args, where, F64, "airmass_min", "airmass", ">=");
    167     ADDRENAMEPARAMF(config->args, where, F64, "airmass_max", "airmass", "<");
    168     ADDRENAMEPARAMF(config->args, where, F64, "ra_min", "ra", ">=");
    169     ADDRENAMEPARAMF(config->args, where, F64, "ra_max", "ra", "<");
    170     ADDRENAMEPARAMF(config->args, where, F64, "decl_min", "decl", ">=");
    171     ADDRENAMEPARAMF(config->args, where, F64, "decl_max", "decl", "<");
    172     ADDRENAMEPARAMF(config->args, where, F32, "exp_time_min", "exp_time", ">=");
    173     ADDRENAMEPARAMF(config->args, where, F32, "exp_time_max", "exp_time", "<");
    174     ADDRENAMEPARAMF(config->args, where, F32, "sat_pixel_frac_min", "sat_pixel_frac", ">=");
    175     ADDRENAMEPARAMF(config->args, where, F32, "sat_pixel_frac_max", "sat_pixel_frac", "<");
    176     ADDRENAMEPARAMF(config->args, where, F64, "bg_min", "bt", ">=");
    177     ADDRENAMEPARAMF(config->args, where, F64, "bg_max", "bt", "<");
    178     ADDRENAMEPARAMF(config->args, where, F64, "bg_stdev_min", "bg_stdev", ">=");
    179     ADDRENAMEPARAMF(config->args, where, F64, "bg_stdev_max", "bg_stdev", "<");
    180     ADDRENAMEPARAMF(config->args, where, F64, "bg_mean_stdev_min", "bg_mean_stdev", ">=");
    181     ADDRENAMEPARAMF(config->args, where, F64, "bg_mean_stdev_max", "bg_mean_stdev", "<");
    182     ADDRENAMEPARAMF(config->args, where, F64, "alt_min", "alt", ">=");
    183     ADDRENAMEPARAMF(config->args, where, F64, "alt_max", "alt", "<");
    184     ADDRENAMEPARAMF(config->args, where, F64, "az_min", "az", ">=");
    185     ADDRENAMEPARAMF(config->args, where, F64, "az_max", "az", "<");
    186     ADDRENAMEPARAMF(config->args, where, F32, "ccd_temp_min", "ccd_temp", ">=");
    187     ADDRENAMEPARAMF(config->args, where, F32, "ccd_temp_max", "ccd_temp", "<");
    188     ADDRENAMEPARAMF(config->args, where, F64, "posang_min", "posang", ">=");
    189     ADDRENAMEPARAMF(config->args, where, F64, "posang_max", "posang", "<");
    190     ADDPARAMSTR(config->args, where, "object");
    191     ADDRENAMEPARAMF(config->args, where, F32, "solang_min", "solang", ">=");
    192     ADDRENAMEPARAMF(config->args, where, F32, "solang_max", "solang", "<");
     111
     112    PXOPT_COPY_STR(config->args, where, "-exp_name", "exp_name", "==");
     113    PXOPT_COPY_STR(config->args, where, "-inst", "camera", "==");
     114    PXOPT_COPY_STR(config->args, where, "-telescope", "telescope", "==");
     115    PXOPT_COPY_STR(config->args, where, "-dateobs_begin", "dateobs", ">=");
     116    PXOPT_COPY_STR(config->args, where, "-dateobs_end", "dateobs", "<=");
     117    PXOPT_COPY_STR(config->args, where, "-exp_tag", "exp_tag", "==");
     118    PXOPT_COPY_STR(config->args, where, "-exp_type", "exp_type", "==");
     119    PXOPT_COPY_STR(config->args, where, "-filelevel", "filelevel", "==");
     120    PXOPT_COPY_STR(config->args, where, "-reduction", "reduction", "==");
     121    PXOPT_COPY_STR(config->args, where, "-filter", "filter", "==");
     122    PXOPT_COPY_F64(config->args, where, "-airmass_min", "airmass", ">=");
     123    PXOPT_COPY_F64(config->args, where, "-airmass_max", "airmass", "<");
     124    PXOPT_COPY_F64(config->args, where, "-ra_min", "ra", ">=");
     125    PXOPT_COPY_F64(config->args, where, "-ra_max", "ra", "<");
     126    PXOPT_COPY_F64(config->args, where, "-decl_min", "decl", ">=");
     127    PXOPT_COPY_F64(config->args, where, "-decl_max", "decl", "<");
     128    PXOPT_COPY_F32(config->args, where, "-exp_time_min", "exp_time", ">=");
     129    PXOPT_COPY_F32(config->args, where, "-exp_time_max", "exp_time", "<");
     130    PXOPT_COPY_F32(config->args, where, "-sat_pixel_frac_min", "sat_pixel_frac", ">=");
     131    PXOPT_COPY_F32(config->args, where, "-sat_pixel_frac_max", "sat_pixel_frac", "<");
     132    PXOPT_COPY_F64(config->args, where, "-bg_min", "bt", ">=");
     133    PXOPT_COPY_F64(config->args, where, "-bg_max", "bt", "<");
     134    PXOPT_COPY_F64(config->args, where, "-bg_stdev_min", "bg_stdev", ">=");
     135    PXOPT_COPY_F64(config->args, where, "-bg_stdev_max", "bg_stdev", "<");
     136    PXOPT_COPY_F64(config->args, where, "-bg_mean_stdev_min", "bg_mean_stdev", ">=");
     137    PXOPT_COPY_F64(config->args, where, "-bg_mean_stdev_max", "bg_mean_stdev", "<");
     138    PXOPT_COPY_F64(config->args, where, "-alt_min", "alt", ">=");
     139    PXOPT_COPY_F64(config->args, where, "-alt_max", "alt", "<");
     140    PXOPT_COPY_F64(config->args, where, "-az_min", "az", ">=");
     141    PXOPT_COPY_F64(config->args, where, "-az_max", "az", "<");
     142    PXOPT_COPY_F32(config->args, where, "-ccd_temp_min", "ccd_temp", ">=");
     143    PXOPT_COPY_F32(config->args, where, "-ccd_temp_max", "ccd_temp", "<");
     144    PXOPT_COPY_F64(config->args, where, "-posang_min", "posang", ">=");
     145    PXOPT_COPY_F64(config->args, where, "-posang_max", "posang", "<");
     146    PXOPT_COPY_STR(config->args, where, "-object", "object", "==");
     147    PXOPT_COPY_F32(config->args, where, "-solang_min", "solang", ">=");
     148    PXOPT_COPY_F32(config->args, where, "-solang_max", "solang", "<");
    193149
    194150    if (where->list->n < 1) {
     
    197153    }
    198154
    199     bool status = false;
    200     psString workdir = psMetadataLookupStr(&status, config->args, "-set_workdir");
    201     if (!status) {
    202         psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -set_workdir");
    203         return false;
    204     }
    205 
    206     psString label = psMetadataLookupStr(&status, config->args, "-set_label");
    207     if (!status) {
    208         psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -set_label");
    209         return false;
    210     }
    211 
    212     psString reduction = psMetadataLookupStr(&status, config->args, "-set_reduction");
    213     if (!status) {
    214         psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -set_reduction");
    215         return false;
    216     }
    217 
    218     psString expgroup = psMetadataLookupStr(&status, config->args, "-set_expgroup");
    219     if (!status) {
    220         psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -set_expgroup");
    221         return false;
    222     }
    223 
    224     psString dvodb = psMetadataLookupStr(&status, config->args, "-set_dvodb");
    225     if (!status) {
    226         psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -set_dvodb");
    227         return false;
    228     }
     155    PXOPT_LOOKUP_STR(workdir, config->args, "-set_workdir", false, false);
     156    PXOPT_LOOKUP_STR(label, config->args, "-set_label", false, false);
     157    PXOPT_LOOKUP_STR(reduction, config->args, "-set_reduction", false, false);
     158    PXOPT_LOOKUP_STR(expgroup, config->args, "-set_expgroup", false, false);
     159    PXOPT_LOOKUP_STR(dvodb, config->args, "-set_dvodb", false, false);
     160    PXOPT_LOOKUP_STR(tess_id, config->args, "-set_tess_id", false, false);
     161    PXOPT_LOOKUP_STR(end_stage, config->args, "-set_end_stage", false, false);
    229162
    230163    // find the exp_id of all the exposures that we want to queue up.
     
    272205        psMetadata *md = output->data[i];
    273206
     207        bool status;
    274208        psS64 exp_id = psMetadataLookupS64(&status, md, "exp_id");
    275209        if (!status) {
     
    280214
    281215        // queue the exp
    282         if (!pxchipQueueByExpTag(config, exp_id, workdir, label, reduction, expgroup, dvodb)) {
     216        if (!pxchipQueueByExpTag(config, exp_id, workdir, label, reduction, expgroup, dvodb, tess_id, end_stage)) {
    283217            if (!psDBRollback(config->dbh)) {
    284218                psError(PS_ERR_UNKNOWN, false, "database error");
     
    304238    PS_ASSERT_PTR_NON_NULL(config, NULL);
    305239
    306     bool status = false;
    307     psU64 limit = psMetadataLookupU64(&status, config->args, "-limit");
    308     if (!status) {
    309         psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -limit");
    310         return false;
    311     }
     240    PXOPT_LOOKUP_U64(limit, config->args, "-limit", false, false);
     241    PXOPT_LOOKUP_BOOL(simple, config->args, "-simple", false);
    312242
    313243    // XXX does this need to be constrained so that it won't return any results
     
    350280    }
    351281
    352     bool simple = false;
    353     {
    354         bool status = false;
    355         simple = psMetadataLookupBool(&status, config->args, "-simple");
    356         if (!status) {
    357             psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -simple");
    358             return false;
    359         }
    360     }
    361 
    362282    if (!convertIdToStr(output)) {
    363283        psError(PS_ERR_UNKNOWN, false, "failed to convert id fields into a strings");
     
    383303    PS_ASSERT_PTR_NON_NULL(config, false);
    384304
    385     bool status = false;
    386305    // chip_id, ext_tag, class_id are required
    387     psString chip_id = psMetadataLookupStr(&status, config->args, "-chip_id");
    388     if (!status) {
    389         psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -chip_id");
    390         return false;
    391     }
    392     if (!chip_id) {
    393         psError(PS_ERR_UNKNOWN, true, "-chip_id is required");
    394         return false;
    395     }
    396 
    397     psString exp_id = psMetadataLookupStr(&status, config->args, "-exp_id");
    398     if (!status) {
    399         psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -exp_id");
    400         return false;
    401     }
    402     if (!exp_id) {
    403         psError(PS_ERR_UNKNOWN, true, "-exp_id is required");
    404         return false;
    405     }
    406 
    407     psString class_id = psMetadataLookupStr(&status, config->args, "-class_id");
    408     if (!status) {
    409         psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -class_id");
    410         return false;
    411     }
    412     if (!class_id) {
    413         psError(PS_ERR_UNKNOWN, true, "-class_id is required");
    414         return false;
    415     }
    416 
    417     psString uri = psMetadataLookupStr(&status, config->args, "-uri");
    418     if (!status) {
    419         psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -uri");
    420         return false;
    421     }
    422 
    423     psF32 bg = psMetadataLookupF32(&status, config->args, "-bg");
    424     if (!status) {
    425         psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -bg");
    426         return false;
    427     }
    428 
    429     psF32 bg_stdev = psMetadataLookupF32(&status, config->args, "-bg_stdev");
    430     if (!status) {
    431         psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -bg_stdev");
    432         return false;
    433     }
    434 
    435     psF32 bg_mean_stdev = psMetadataLookupF32(&status, config->args, "-bg_mean_stdev");
    436     if (!status) {
    437         psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -bg_mean_stdev");
    438         return false;
    439     }
    440 
    441     psF32 bias = psMetadataLookupF32(&status, config->args, "-bias");
    442     if (!status) {
    443         psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -bias");
    444         return false;
    445     }
    446 
    447     psF32 bias_stdev = psMetadataLookupF32(&status, config->args, "-bias_stdev");
    448     if (!status) {
    449         psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -bias_stdev");
    450         return false;
    451     }
    452 
    453     psF32 fringe_0 = psMetadataLookupF32(&status, config->args, "-fringe_0");
    454     if (!status) {
    455         psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -fringe_0");
    456         return false;
    457     }
    458 
    459     psF32 fringe_1 = psMetadataLookupF32(&status, config->args, "-fringe_1");
    460     if (!status) {
    461         psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -fringe_1");
    462         return false;
    463     }
    464 
    465     psF32 fringe_2 = psMetadataLookupF32(&status, config->args, "-fringe_2");
    466     if (!status) {
    467         psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -fringe_2");
    468         return false;
    469     }
    470 
    471     psF32 sigma_ra = psMetadataLookupF32(&status, config->args, "-sigma_ra");
    472     if (!status) {
    473         psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -sigma_ra");
    474         return false;
    475     }
    476 
    477     psF32 sigma_dec = psMetadataLookupF32(&status, config->args, "-sigma_dec");
    478     if (!status) {
    479         psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -sigma_dec");
    480         return false;
    481     }
    482 
    483     psF32 ap_resid = psMetadataLookupF32(&status, config->args, "-ap_resid");
    484     if (!status) {
    485         psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -ap_resid");
    486         return false;
    487     }
    488 
    489     psF32 ap_resid_stdev = psMetadataLookupF32(&status, config->args, "-ap_resid_stdev");
    490     if (!status) {
    491         psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -ap_resid_stdev");
    492         return false;
    493     }
    494 
    495     psF32 fwhm = psMetadataLookupF32(&status, config->args, "-fwhm");
    496     if (!status) {
    497         psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -fwhm");
    498         return false;
    499     }
    500 
    501     psF32 fwhm_range = psMetadataLookupF32(&status, config->args, "-fwhm_range");
    502     if (!status) {
    503         psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -fwhm_range");
    504         return false;
    505     }
    506 
    507     psS32 n_stars = psMetadataLookupS32(&status, config->args, "-n_stars");
    508     if (!status) {
    509         psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -n_stars");
    510         return false;
    511     }
    512 
    513     psS32 n_extended = psMetadataLookupS32(&status, config->args, "-n_extended");
    514     if (!status) {
    515         psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -n_extended");
    516         return false;
    517     }
    518 
    519     psS32 n_cr = psMetadataLookupS32(&status, config->args, "-n_cr");
    520     if (!status) {
    521         psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -n_cr");
    522         return false;
    523     }
    524 
    525     psS32 n_astrom = psMetadataLookupS32(&status, config->args, "-n_astrom");
    526     if (!status) {
    527         psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -n_astrom");
    528         return false;
    529     }
     306    PXOPT_LOOKUP_STR(chip_id, config->args, "-chip_id", true, false);
     307    PXOPT_LOOKUP_STR(exp_id, config->args, "-exp_id", true, false);
     308    PXOPT_LOOKUP_STR(class_id, config->args, "-class_id", true, false);
    530309
    531310    // optional
    532     psString path_base = psMetadataLookupStr(&status, config->args, "-path_base");
    533     if (!status) {
    534         psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -path_base");
    535         return false;
    536     }
     311    PXOPT_LOOKUP_STR(uri, config->args, "-uri", false, false);
     312    PXOPT_LOOKUP_F32(bg, config->args, "-bg", false, false);
     313    PXOPT_LOOKUP_F32(bg_stdev, config->args, "-bg_stdev", false, false);
     314    PXOPT_LOOKUP_F32(bg_mean_stdev, config->args, "-bg_mean_stdev", false, false);
     315    PXOPT_LOOKUP_F32(bias, config->args, "-bias", false, false);
     316    PXOPT_LOOKUP_F32(bias_stdev, config->args, "-bias_stdev", false, false);
     317    PXOPT_LOOKUP_F32(fringe_0, config->args, "-fringe_0", false, false);
     318    PXOPT_LOOKUP_F32(fringe_1, config->args, "-fringe_1", false, false);
     319    PXOPT_LOOKUP_F32(fringe_2, config->args, "-fringe_2", false, false);
     320    PXOPT_LOOKUP_F32(sigma_ra, config->args, "-sigma_ra", false, false);
     321    PXOPT_LOOKUP_F32(sigma_dec, config->args, "-sigma_dec", false, false);
     322    PXOPT_LOOKUP_F32(ap_resid, config->args, "-ap_resid", false, false);
     323    PXOPT_LOOKUP_F32(ap_resid_stdev, config->args, "-ap_resid_stdev", false, false);
     324    PXOPT_LOOKUP_F32(fwhm, config->args, "-fwhm", false, false);
     325    PXOPT_LOOKUP_F32(fwhm_range, config->args, "-fwhm_range", false, false);
     326    PXOPT_LOOKUP_F32(n_stars, config->args, "-n_stars", false, false);
     327    PXOPT_LOOKUP_F32(n_extended, config->args, "-n_extended", false, false);
     328    PXOPT_LOOKUP_F32(n_cr, config->args, "-n_cr", false, false);
     329    PXOPT_LOOKUP_F32(n_astrom, config->args, "-n_astrom", false, false);
     330    PXOPT_LOOKUP_STR(path_base, config->args, "-path_base", false, false);
    537331
    538332    // default values
    539     psS16 code = psMetadataLookupS16(&status, config->args, "-code");
    540     if (!status) {
    541         psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -code");
    542         return false;
    543     }
     333    PXOPT_LOOKUP_S16(code, config->args, "-code", false, false);
    544334
    545335    if (!psDBTransaction(config->dbh)) {
     
    548338    }
    549339
    550     chipProcessedImfileRow *imfile = chipProcessedImfileRowAlloc(
     340    if (!chipProcessedImfileInsert(config->dbh,
    551341        (psS64)atoll(chip_id),
    552342        (psS64)atoll(exp_id),
     
    573363        path_base,
    574364        code
    575     );
    576     if (!imfile) {
     365    )) {
    577366        // rollback
    578367        if (!psDBRollback(config->dbh)) {
    579368            psError(PS_ERR_UNKNOWN, false, "database error");
    580369        }
    581         psError(PS_ERR_UNKNOWN, false, "failed to alloc chipProcessedImfileRow object");
    582         return false;
    583     }
    584     if (!chipProcessedImfileInsertObject(config->dbh, imfile)) {
    585         // rollback
    586         if (!psDBRollback(config->dbh)) {
    587             psError(PS_ERR_UNKNOWN, false, "database error");
    588         }
    589         psError(PS_ERR_UNKNOWN, false, "database error");
    590         psFree(imfile);
    591         return false;
    592     }
    593 
    594 
     370        psError(PS_ERR_UNKNOWN, false, "database error");
     371        return false;
     372    }
    595373
    596374    // XXX I've decided to make the transaction cover the Exp migration as
     
    621399    PS_ASSERT_PTR_NON_NULL(config, NULL);
    622400
    623     bool status = false;
    624     psU64 limit = psMetadataLookupU64(&status, config->args, "-limit");
    625     if (!status) {
    626         psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -limit");
    627         return false;
    628     }
    629 
    630     bool faulted = psMetadataLookupU64(&status, config->args, "-faulted");
    631     if (!status) {
    632         psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -faulted");
    633         return false;
    634     }
     401    PXOPT_LOOKUP_U64(limit, config->args, "-limit", false, false);
     402    PXOPT_LOOKUP_BOOL(simple, config->args, "-simple", false);
     403    PXOPT_LOOKUP_BOOL(faulted, config->args, "-faulted", false);
    635404
    636405    // XXX does this need to be constrained so that it won't return any results
     
    681450    }
    682451
    683     bool simple = false;
    684     {
    685         bool status = false;
    686         simple = psMetadataLookupBool(&status, config->args, "-simple");
    687         if (!status) {
    688             psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -simple");
    689             return false;
    690         }
    691     }
    692 
    693452    if (!convertIdToStr(output)) {
    694453        psError(PS_ERR_UNKNOWN, false, "failed to convert id fields into a strings");
     
    744503    PS_ASSERT_PTR_NON_NULL(config, false);
    745504
    746     bool status = false;
    747     psS16 code = psMetadataLookupS16(&status, config->args, "-code");
    748     if (!status) {
    749         psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -code");
    750         return false;
    751     }
    752     if (code == INT16_MAX) {
    753         psError(PS_ERR_UNKNOWN, true, "-code is required");
    754         return false;
    755     }
     505    PXOPT_LOOKUP_S16(code, config->args, "-code", true, false);
    756506
    757507    if (!pxSetFaultCode(config->dbh, "chipProcessedImfile", config->where, code)) {
     
    768518    PS_ASSERT_PTR_NON_NULL(config, false);
    769519
    770     bool status = false;
    771     psString label = psMetadataLookupStr(&status, config->args, "-label");
    772     if (!status) {
    773         psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -label");
    774         return false;
    775     }
    776     if (!label) {
    777         psError(PS_ERR_UNKNOWN, true, "-label is required");
    778         return false;
    779     }
     520    PXOPT_LOOKUP_STR(label, config->args, "-label", true, false);
    780521
    781522    if (!chipMaskInsert(config->dbh, label)) {
     
    791532{
    792533    PS_ASSERT_PTR_NON_NULL(config, false);
     534
     535    PXOPT_LOOKUP_BOOL(simple, config->args, "-simple", false);
    793536
    794537    psString query = psStringCopy("SELECT * FROM chipMask");
     
    810553        psFree(output);
    811554        return true;
    812     }
    813 
    814     bool simple = false;
    815     {
    816         bool status = false;
    817         simple = psMetadataLookupBool(&status, config->args, "-simple");
    818         if (!status) {
    819             psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -simple");
    820             return false;
    821         }
    822555    }
    823556
     
    845578    PS_ASSERT_PTR_NON_NULL(config, false);
    846579
    847     bool status = false;
    848     psString label = psMetadataLookupStr(&status, config->args, "-label");
    849     if (!status) {
    850         psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -label");
    851         return false;
    852     }
    853     if (!label) {
    854         psError(PS_ERR_UNKNOWN, true, "-label is required");
    855         return false;
    856     }
     580    PXOPT_LOOKUP_STR(label, config->args, "-label", true, false);
    857581
    858582    char *query = "DELETE FROM chipMask WHERE label = '%s'";
     
    860584    if (!p_psDBRunQuery(config->dbh, query, label)) {
    861585        psError(PS_ERR_UNKNOWN, false, "database error");
    862         psFree(query);
    863586        return false;
    864587    }
     
    909632            return false;
    910633        }
     634
     635        // should we stop here or proceed on to the cam stage?
     636        if (psStrcasestr(chipRun->end_stage, "chip")) {
     637            psFree(chipRun);
     638            continue;
     639        }
     640        // else continue on...
    911641
    912642        // camQueueChipID() can only be run after chipRun.state has been set to
     
    918648                    chipRun->reduction,
    919649                    chipRun->expgroup,
    920                     chipRun->dvodb
     650                    chipRun->dvodb,
     651                    chipRun->tess_id,
     652                    chipRun->end_stage
    921653        )) {
    922654            // rollback
Note: See TracChangeset for help on using the changeset viewer.