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/guidetoolConfig.c

    r18172 r18561  
    5252    // -pending search
    5353    psMetadata *pendingArgs = psMetadataAlloc();
    54     psMetadataAddStr(pendingArgs, PS_LIST_TAIL, "-exp_id",  0,
    55         "define exposure ID", NULL);
    56     psMetadataAddStr(pendingArgs, PS_LIST_TAIL, "-inst",  0,
    57         "define camera of interest", NULL);
    58     psMetadataAddStr(pendingArgs, PS_LIST_TAIL, "-telescope",  0,
    59         "define telescope of interest", NULL);
    60     psMetadataAddStr(pendingArgs, PS_LIST_TAIL, "-exp_type",  0,
    61         "define exposure type", NULL);
    62     psMetadataAddS32(pendingArgs, PS_LIST_TAIL, "-imfiles",  0,
    63         "define number of imfiles", 0);
    64     psMetadataAddStr(pendingArgs, PS_LIST_TAIL, "-filter",  0,
    65         "define filter of interest", NULL);
    66     psMetadataAddStr(pendingArgs, PS_LIST_TAIL, "-recipe",  0,
    67         "define recipe of interest", NULL);
    68     psMetadataAddS32(pendingArgs, PS_LIST_TAIL, "-guide_version",  0,
    69         "define guide_version of interest", 0);
     54    psMetadataAddStr(pendingArgs, PS_LIST_TAIL, "-exp_id",  0,        "define exposure ID", NULL);
     55    psMetadataAddStr(pendingArgs, PS_LIST_TAIL, "-inst",  0,        "define camera of interest", NULL);
     56    psMetadataAddStr(pendingArgs, PS_LIST_TAIL, "-telescope",  0,        "define telescope of interest", NULL);
     57    psMetadataAddStr(pendingArgs, PS_LIST_TAIL, "-exp_type",  0,        "define exposure type", NULL);
     58    psMetadataAddS32(pendingArgs, PS_LIST_TAIL, "-imfiles",  0,        "define number of imfiles", 0);
     59    psMetadataAddStr(pendingArgs, PS_LIST_TAIL, "-filter",  0,        "define filter of interest", NULL);
     60    psMetadataAddStr(pendingArgs, PS_LIST_TAIL, "-recipe",  0,        "define recipe of interest", NULL);
     61    psMetadataAddS32(pendingArgs, PS_LIST_TAIL, "-guide_version",  0,        "define guide_version of interest", 0);
    7062
    7163    // -define inputs
    7264    psMetadata *defineArgs = psMetadataAlloc();
    73     psMetadataAddStr(defineArgs, PS_LIST_TAIL, "-exp_id",  0,
    74         "define class", NULL);
    75     psMetadataAddStr(defineArgs, PS_LIST_TAIL, "-inst",  0,
    76         "define camera of interest", NULL);
    77     psMetadataAddStr(defineArgs, PS_LIST_TAIL, "-telescope",  0,
    78         "define camera of interest", NULL);
    79     psMetadataAddStr(defineArgs, PS_LIST_TAIL, "-exp_type",  0,
    80         "define class", NULL);
    81     psMetadataAddS32(defineArgs, PS_LIST_TAIL, "-imfiles",  0,
    82         "define number of imfiles", 0);
    83     psMetadataAddStr(defineArgs, PS_LIST_TAIL, "-filter",  0,
    84         "define filter of interest", NULL);
     65    psMetadataAddStr(defineArgs, PS_LIST_TAIL, "-exp_id",  0,        "define class", NULL);
     66    psMetadataAddStr(defineArgs, PS_LIST_TAIL, "-inst",  0,        "define camera of interest", NULL);
     67    psMetadataAddStr(defineArgs, PS_LIST_TAIL, "-telescope",  0,        "define camera of interest", NULL);
     68    psMetadataAddStr(defineArgs, PS_LIST_TAIL, "-exp_type",  0,        "define class", NULL);
     69    psMetadataAddS32(defineArgs, PS_LIST_TAIL, "-imfiles",  0,        "define number of imfiles", 0);
     70    psMetadataAddStr(defineArgs, PS_LIST_TAIL, "-filter",  0,        "define filter of interest", NULL);
    8571    // these two are inputs NOT search parameters
    86     psMetadataAddStr(defineArgs, PS_LIST_TAIL, "-recipe",  0,
    87         "define recipe of interest", NULL);
    88     psMetadataAddS32(defineArgs, PS_LIST_TAIL, "-guide_version",  0,
    89         "define guide_version of interest", 0);
     72    psMetadataAddStr(defineArgs, PS_LIST_TAIL, "-recipe",  0,        "define recipe of interest", NULL);
     73    psMetadataAddS32(defineArgs, PS_LIST_TAIL, "-guide_version",  0,        "define guide_version of interest", 0);
    9074
    9175    // find which mode we're running under
     
    146130    psFree(defineArgs);
    147131
    148     // setup search criterion
    149 #define addWhereStr(name) \
    150     if ((str = psMetadataLookupStr(&status, config->args, "-" #name))) { \
    151         if (!psMetadataAddStr(config->where, PS_LIST_TAIL, #name, 0, "==", str)) {\
    152             psError(PS_ERR_UNKNOWN, false, "failed to add item " #name); \
    153             exit(EXIT_FAILURE); \
    154         } \
    155     }
    156 
    157     // generate SQL where clause
    158     config->where = psMetadataAlloc();
    159 
    160 {
    161     psString str = NULL;
    162     int n = 0;
    163     bool status = false;
    164 
    165     addWhereStr(exp_id);
    166     // convert '-inst' to 'camera'
    167     if ((str = psMetadataLookupStr(&status, config->args, "-inst"))) {
    168         if (!psMetadataAddStr(config->where, PS_LIST_TAIL, "camera", 0, "==", str)) {
    169             psError(PS_ERR_UNKNOWN, false, "failed to add item camera");
    170             exit(EXIT_FAILURE);
    171         }
    172     }
    173     addWhereStr(telescope);
    174     addWhereStr(exp_type);
    175     if ((n = psMetadataLookupS32(&status, config->args, "-imfiles"))) {
    176         if (!psMetadataAddS32(config->where, PS_LIST_TAIL, "imfiles", 0, "==", n)) {
    177             psError(PS_ERR_UNKNOWN, false, "failed to add item imfiles");
    178             exit(EXIT_FAILURE);
    179         }
    180     }
    181     addWhereStr(filter);
    182     addWhereStr(stats);
    183     addWhereStr(recipe);
    184     if ((n = psMetadataLookupS32(&status, config->args, "-guide_version"))) {
    185         if (!psMetadataAddS32(config->where, PS_LIST_TAIL, "guide_version", 0, "==", n)) {
    186             psError(PS_ERR_UNKNOWN, false, "failed to add item guide_version");
    187             exit(EXIT_FAILURE);
    188         }
    189     }
    190 }
    191 
    192     if (config->where->list->n < 1) {
    193         psFree(config->where);
    194         config->where = NULL;
    195     }
    196 
    197132    // define Database handle, if used
    198133    config->dbh = psMemIncrRefCounter(pmConfigDB(config->modules));
Note: See TracChangeset for help on using the changeset viewer.