IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Jul 15, 2008, 10:30:59 AM (18 years ago)
Author:
eugene
Message:

completely deprecate config->where; make all command-line handling consistent; move nearly all sql into share/*.sql; ensure consistency between args supplied and used

File:
1 edited

Legend:

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

    r18172 r18561  
    4949    // -adddb
    5050    psMetadata *adddbArgs = psMetadataAlloc();
    51     psMetadataAddStr(adddbArgs, PS_LIST_TAIL, "-dvodb",  0,
    52             "define DVO db (required)", NULL);
     51    psMetadataAddStr(adddbArgs, PS_LIST_TAIL, "-dvodb",  0,            "define DVO db (required)", NULL);
    5352
    5453    // -dbs
    5554    psMetadata *dbsArgs = psMetadataAlloc();
    56     psMetadataAddU64(dbsArgs, PS_LIST_TAIL, "-limit",  0,
    57             "limit result set to N items", 0);
    58     psMetadataAddBool(dbsArgs, PS_LIST_TAIL, "-simple", 0,
    59             "use the simple output format", false);
     55    psMetadataAddU64(dbsArgs, PS_LIST_TAIL, "-limit",  0,            "limit result set to N items", 0);
     56    psMetadataAddBool(dbsArgs, PS_LIST_TAIL, "-simple", 0,            "use the simple output format", false);
    6057
    6158    // -addrun
    6259    psMetadata *addrunArgs = psMetadataAlloc();
    63     psMetadataAddStr(addrunArgs, PS_LIST_TAIL, "-cal_id",  0,
    64             "define calibration DB ID (required)", NULL);
    65     psMetadataAddStr(addrunArgs, PS_LIST_TAIL, "-region",  0,
    66             "define region (required)", NULL);
    67     psMetadataAddStr(addrunArgs, PS_LIST_TAIL, "-last_step",  0,
    68             "define last step (required)", NULL);
    69     psMetadataAddStr(addrunArgs, PS_LIST_TAIL, "-state",  0,
    70             "define state (required)", NULL);
     60    psMetadataAddStr(addrunArgs, PS_LIST_TAIL, "-cal_id",  0,            "define calibration DB ID (required)", NULL);
     61    psMetadataAddStr(addrunArgs, PS_LIST_TAIL, "-region",  0,            "define region (required)", NULL);
     62    psMetadataAddStr(addrunArgs, PS_LIST_TAIL, "-last_step",  0,            "define last step (required)", NULL);
     63    psMetadataAddStr(addrunArgs, PS_LIST_TAIL, "-state",  0,            "define state (required)", NULL);
    7164
    7265    // -runs
    7366    psMetadata *runsArgs = psMetadataAlloc();
    74     psMetadataAddStr(runsArgs, PS_LIST_TAIL, "-cal_id",  0,
    75             "search for calibration ID", NULL);
    76     psMetadataAddU64(runsArgs, PS_LIST_TAIL, "-limit",  0,
    77             "limit result set to N items", 0);
    78     psMetadataAddBool(runsArgs, PS_LIST_TAIL, "-faulted",  0,
    79             "only return imfiles with a fault status set", false);
    80     psMetadataAddBool(runsArgs, PS_LIST_TAIL, "-simple",  0,
    81             "use the simple output format", false);
     67    psMetadataAddStr(runsArgs, PS_LIST_TAIL, "-cal_id",  0,            "search for calibration ID", NULL);
     68    psMetadataAddU64(runsArgs, PS_LIST_TAIL, "-limit",  0,            "limit result set to N items", 0);
     69    psMetadataAddBool(runsArgs, PS_LIST_TAIL, "-faulted",  0,            "only return imfiles with a fault status set", false);
     70    psMetadataAddBool(runsArgs, PS_LIST_TAIL, "-simple",  0,            "use the simple output format", false);
    8271
    8372    psFree(now);
     
    8675    psMetadata *modes = psMetadataAlloc();
    8776
    88     PXOPT_ADD_MODE("-adddb",   "add a DVO calibration DB",
    89         CALTOOL_MODE_ADDDB,     adddbArgs);
    90     PXOPT_ADD_MODE("-dbs",     "list DVO calibration DBs",
    91         CALTOOL_MODE_DBS,       dbsArgs);
    92     PXOPT_ADD_MODE("-addrun",  "add the results of a calibration run",
    93         CALTOOL_MODE_ADDRUN,    addrunArgs);
    94     PXOPT_ADD_MODE("-runs",    "list the results of calibration runs",
    95         CALTOOL_MODE_RUNS,      runsArgs);
     77    PXOPT_ADD_MODE("-adddb",   "add a DVO calibration DB",        CALTOOL_MODE_ADDDB,     adddbArgs);
     78    PXOPT_ADD_MODE("-dbs",     "list DVO calibration DBs",        CALTOOL_MODE_DBS,       dbsArgs);
     79    PXOPT_ADD_MODE("-addrun",  "add the results of a calibration run",        CALTOOL_MODE_ADDRUN,    addrunArgs);
     80    PXOPT_ADD_MODE("-runs",    "list the results of calibration runs",        CALTOOL_MODE_RUNS,      runsArgs);
    9681
    9782    if (!pxGetOptions(stderr, argc, argv, config, modes, argSets)) {
     
    10590    psFree(argSets);
    10691    psFree(modes);
    107 
    108     // setup search criterion
    109 #define addWhereStr(name) \
    110 { \
    111     psString str = NULL; \
    112     bool status = false; \
    113     if ((str = psMetadataLookupStr(&status, config->args, "-" #name))) { \
    114         if (!psMetadataAddStr(config->where, PS_LIST_TAIL, #name, 0, "==", str)) {\
    115             psError(PS_ERR_UNKNOWN, false, "failed to add item " #name); \
    116             psFree(config); \
    117             return NULL; \
    118         } \
    119     } \
    120 }
    121 
    122     // generate SQL where clause
    123     config->where = psMetadataAlloc();
    124 
    125     addWhereStr(det_id);
    126     {
    127         // XXX this is broke because you can't specify -iteration 0
    128         psMetadataItem *item = psMetadataLookup(config->args, "-iteration");
    129         if (item && psStrcasestr(item->comment, "found")) {
    130             if (!psMetadataAddS32(config->where, PS_LIST_TAIL, "iteration", 0, "==", item->data.S32)) {
    131                 psError(PS_ERR_UNKNOWN, false, "failed to add item iteration");
    132                 psFree(config);
    133                 return NULL;
    134             }
    135         }
    136     }
    137 
    138     addWhereStr(det_id);
    139 
    140     // convert '-code' to 'fault'
    141     {
    142         psS16 fault = 0;
    143         bool status = false;
    144         if ((fault = psMetadataLookupS16(&status, config->args, "-code"))) {
    145             if (!psMetadataAddS16(config->where, PS_LIST_TAIL, "fault", 0, "==", fault)) {
    146                 psError(PS_ERR_UNKNOWN, false, "failed to add item fault");
    147                 psFree(config);
    148                 return NULL;
    149             }
    150         }
    151     }
    152 
    153     if (config->where->list->n < 1) {
    154         psFree(config->where);
    155         config->where = NULL;
    156     }
    15792
    15893    // define Database handle, if used
Note: See TracChangeset for help on using the changeset viewer.