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

    r18172 r18561  
    4848    psMetadata *newrunArgs = psMetadataAlloc();
    4949    // XXX need to allow multiple exp_ids
    50     psMetadataAddStr(newrunArgs, PS_LIST_TAIL, "-exp_id",  0,
    51             "search by exp_id", NULL);
    52     psMetadataAddStr(newrunArgs, PS_LIST_TAIL, "-exp_name",  0,
    53             "search by exp_name", NULL);
    54     psMetadataAddStr(newrunArgs, PS_LIST_TAIL, "-inst",  0,
    55             "search for camera", NULL);
    56     psMetadataAddStr(newrunArgs, PS_LIST_TAIL, "-telescope",  0,
    57             "search for telescope", NULL);
    58     psMetadataAddTime(newrunArgs, PS_LIST_TAIL, "-dateobs_begin", 0,   
    59             "search for exposures by time (>=)", NULL);
    60     psMetadataAddTime(newrunArgs, PS_LIST_TAIL, "-dateobs_end", 0,
    61             "search for exposures by time (<)", NULL);
    62     psMetadataAddStr(newrunArgs, PS_LIST_TAIL, "-exp_tag",  0,
    63             "search by exp_tag", NULL);
    64     psMetadataAddStr(newrunArgs, PS_LIST_TAIL, "-exp_type",  0,
    65             "search by exp_type", "object");
    66     psMetadataAddStr(newrunArgs, PS_LIST_TAIL, "-filelevel",  0,
    67             "search by filelevel", NULL);
    68     psMetadataAddStr(newrunArgs, PS_LIST_TAIL, "-reduction",  0,
    69             "search by reduction class", NULL);
    70     psMetadataAddStr(newrunArgs, PS_LIST_TAIL, "-filter",  0,
    71             "search for filter", NULL);
    72     psMetadataAddF32(newrunArgs, PS_LIST_TAIL, "-airmass_min",  0,
    73             "define min airmass", NAN);
    74     psMetadataAddF32(newrunArgs, PS_LIST_TAIL, "-airmass_max",  0,
    75             "define max airmass", NAN);
    76     psMetadataAddF64(newrunArgs, PS_LIST_TAIL, "-ra_min",  0,
    77             "define min", NAN);
    78     psMetadataAddF64(newrunArgs, PS_LIST_TAIL, "-ra_max",  0,
    79             "define max", NAN);
    80     psMetadataAddF64(newrunArgs, PS_LIST_TAIL, "-decl_min",  0,
    81             "define min", NAN);
    82     psMetadataAddF64(newrunArgs, PS_LIST_TAIL, "-decl_max",  0,
    83             "define max", NAN);
    84     psMetadataAddF32(newrunArgs, PS_LIST_TAIL, "-exp_time_min",  0,
    85             "define min", NAN);
    86     psMetadataAddF32(newrunArgs, PS_LIST_TAIL, "-exp_time_max",  0,
    87             "define max", NAN);
    88     psMetadataAddF32(newrunArgs, PS_LIST_TAIL, "-sat_pixel_frac_min",  0,
    89             "define max fraction of saturated pixels", NAN);
    90     psMetadataAddF32(newrunArgs, PS_LIST_TAIL, "-sat_pixel_frac_max",  0,
    91             "define min fraction of saturated pixels", NAN);
    92     psMetadataAddF64(newrunArgs, PS_LIST_TAIL, "-bg_min",  0,
    93             "define max", NAN);
    94     psMetadataAddF64(newrunArgs, PS_LIST_TAIL, "-bg_max",  0,
    95             "define max", NAN);
    96     psMetadataAddF64(newrunArgs, PS_LIST_TAIL, "-bg_stdev_min",  0,
    97             "define max", NAN);
    98     psMetadataAddF64(newrunArgs, PS_LIST_TAIL, "-bg_stdev_max",  0,
    99             "define max", NAN);
    100     psMetadataAddF64(newrunArgs, PS_LIST_TAIL, "-bg_mean_stdev_min",  0,
    101             "define max", NAN);
    102     psMetadataAddF64(newrunArgs, PS_LIST_TAIL, "-bg_mean_stdev_max",  0,
    103             "define max", NAN);
    104     psMetadataAddF64(newrunArgs, PS_LIST_TAIL, "-alt_min",  0,
    105             "define min", NAN);
    106     psMetadataAddF64(newrunArgs, PS_LIST_TAIL, "-alt_max",  0,
    107             "define max", NAN);
    108     psMetadataAddF64(newrunArgs, PS_LIST_TAIL, "-az_min",  0,
    109             "define min", NAN);
    110     psMetadataAddF64(newrunArgs, PS_LIST_TAIL, "-az_max",  0,
    111             "define max", NAN);
    112     psMetadataAddF64(newrunArgs, PS_LIST_TAIL, "-ccd_temp_min",  0,   
    113             "define min ccd tempature", NAN);
    114     psMetadataAddF64(newrunArgs, PS_LIST_TAIL, "-ccd_temp_max",  0,
    115             "define max ccd tempature", NAN);
    116     psMetadataAddF64(newrunArgs, PS_LIST_TAIL, "-posang_min",  0,
    117             "define min rotator position angle", NAN);
    118     psMetadataAddF64(newrunArgs, PS_LIST_TAIL, "-posang_max",  0,
    119             "define max rotator position angle", NAN);
    120     psMetadataAddStr(newrunArgs, PS_LIST_TAIL, "-object",  0,
    121             "search by exposure object", NULL);
    122     psMetadataAddF32(newrunArgs, PS_LIST_TAIL, "-solang_min",  0,
    123             "define min solar angle", NAN);
    124     psMetadataAddF32(newrunArgs, PS_LIST_TAIL, "-solang_max",  0,
    125             "define max solar angle", NAN);
    126     psMetadataAddStr(newrunArgs, PS_LIST_TAIL, "-set_workdir",  0,
    127             "define workdir", NULL);
    128     psMetadataAddStr(newrunArgs, PS_LIST_TAIL, "-set_label",  0,
    129             "define label", NULL);
    130     psMetadataAddStr(newrunArgs, PS_LIST_TAIL, "-set_reduction",  0,
    131             "define reduction class", NULL);
    132     psMetadataAddStr(newrunArgs, PS_LIST_TAIL, "-set_expgroup",  0,
    133             "define exposure group", NULL);
    134     psMetadataAddStr(newrunArgs, PS_LIST_TAIL, "-set_dvodb",  0,
    135             "define DVO db", NULL);
    136     psMetadataAddStr(newrunArgs, PS_LIST_TAIL, "-set_filter",  0,
    137             "define filter", NULL);
    138     psMetadataAddStr(newrunArgs, PS_LIST_TAIL, "-set_tess_id",  0,
    139             "define tessalation", NULL);
    140     psMetadataAddStr(newrunArgs, PS_LIST_TAIL, "-set_end_stage",  0,
    141             "define processing end stage", NULL);
    142     psMetadataAddStr(newrunArgs, PS_LIST_TAIL, "-set_region",  0,
    143             "define region", NULL);
     50    psMetadataAddS64(newrunArgs, PS_LIST_TAIL, "-exp_id",  0,            "search by exp_id", 0);
     51    psMetadataAddStr(newrunArgs, PS_LIST_TAIL, "-exp_name",  0,            "search by exp_name", NULL);
     52    psMetadataAddStr(newrunArgs, PS_LIST_TAIL, "-inst",  0,            "search for camera", NULL);
     53    psMetadataAddStr(newrunArgs, PS_LIST_TAIL, "-telescope",  0,            "search for telescope", NULL);
     54    psMetadataAddTime(newrunArgs, PS_LIST_TAIL, "-dateobs_begin", 0,               "search for exposures by time (>=)", NULL);
     55    psMetadataAddTime(newrunArgs, PS_LIST_TAIL, "-dateobs_end", 0,            "search for exposures by time (<)", NULL);
     56    psMetadataAddStr(newrunArgs, PS_LIST_TAIL, "-exp_tag",  0,            "search by exp_tag", NULL);
     57    psMetadataAddStr(newrunArgs, PS_LIST_TAIL, "-exp_type",  0,            "search by exp_type", "object");
     58    psMetadataAddStr(newrunArgs, PS_LIST_TAIL, "-filelevel",  0,            "search by filelevel", NULL);
     59    psMetadataAddStr(newrunArgs, PS_LIST_TAIL, "-reduction",  0,            "search by reduction class", NULL);
     60    psMetadataAddStr(newrunArgs, PS_LIST_TAIL, "-filter",  0,            "search for filter", NULL);
     61    psMetadataAddF32(newrunArgs, PS_LIST_TAIL, "-airmass_min",  0,            "define min airmass", NAN);
     62    psMetadataAddF32(newrunArgs, PS_LIST_TAIL, "-airmass_max",  0,            "define max airmass", NAN);
     63    psMetadataAddF64(newrunArgs, PS_LIST_TAIL, "-ra_min",  0,            "define min", NAN);
     64    psMetadataAddF64(newrunArgs, PS_LIST_TAIL, "-ra_max",  0,            "define max", NAN);
     65    psMetadataAddF64(newrunArgs, PS_LIST_TAIL, "-decl_min",  0,            "define min", NAN);
     66    psMetadataAddF64(newrunArgs, PS_LIST_TAIL, "-decl_max",  0,            "define max", NAN);
     67    psMetadataAddF32(newrunArgs, PS_LIST_TAIL, "-exp_time_min",  0,            "define min", NAN);
     68    psMetadataAddF32(newrunArgs, PS_LIST_TAIL, "-exp_time_max",  0,            "define max", NAN);
     69    psMetadataAddF32(newrunArgs, PS_LIST_TAIL, "-sat_pixel_frac_min",  0,            "define max fraction of saturated pixels", NAN);
     70    psMetadataAddF32(newrunArgs, PS_LIST_TAIL, "-sat_pixel_frac_max",  0,            "define min fraction of saturated pixels", NAN);
     71    psMetadataAddF64(newrunArgs, PS_LIST_TAIL, "-bg_min",  0,            "define max", NAN);
     72    psMetadataAddF64(newrunArgs, PS_LIST_TAIL, "-bg_max",  0,            "define max", NAN);
     73    psMetadataAddF64(newrunArgs, PS_LIST_TAIL, "-bg_stdev_min",  0,            "define max", NAN);
     74    psMetadataAddF64(newrunArgs, PS_LIST_TAIL, "-bg_stdev_max",  0,            "define max", NAN);
     75    psMetadataAddF64(newrunArgs, PS_LIST_TAIL, "-bg_mean_stdev_min",  0,            "define max", NAN);
     76    psMetadataAddF64(newrunArgs, PS_LIST_TAIL, "-bg_mean_stdev_max",  0,            "define max", NAN);
     77    psMetadataAddF64(newrunArgs, PS_LIST_TAIL, "-alt_min",  0,            "define min", NAN);
     78    psMetadataAddF64(newrunArgs, PS_LIST_TAIL, "-alt_max",  0,            "define max", NAN);
     79    psMetadataAddF64(newrunArgs, PS_LIST_TAIL, "-az_min",  0,            "define min", NAN);
     80    psMetadataAddF64(newrunArgs, PS_LIST_TAIL, "-az_max",  0,            "define max", NAN);
     81    psMetadataAddF32(newrunArgs, PS_LIST_TAIL, "-ccd_temp_min",  0,               "define min ccd tempature", NAN);
     82    psMetadataAddF32(newrunArgs, PS_LIST_TAIL, "-ccd_temp_max",  0,            "define max ccd tempature", NAN);
     83    psMetadataAddF64(newrunArgs, PS_LIST_TAIL, "-posang_min",  0,            "define min rotator position angle", NAN);
     84    psMetadataAddF64(newrunArgs, PS_LIST_TAIL, "-posang_max",  0,            "define max rotator position angle", NAN);
     85    psMetadataAddStr(newrunArgs, PS_LIST_TAIL, "-object",  0,            "search by exposure object", NULL);
     86    psMetadataAddF32(newrunArgs, PS_LIST_TAIL, "-solang_min",  0,            "define min solar angle", NAN);
     87    psMetadataAddF32(newrunArgs, PS_LIST_TAIL, "-solang_max",  0,            "define max solar angle", NAN);
    14488
    145     psMetadataAddBool(newrunArgs, PS_LIST_TAIL, "-pretend",  0,
    146             "print the exposures that would be included in the detrend run and exit", false);
    147     psMetadataAddBool(newrunArgs, PS_LIST_TAIL, "-simple", 0,
    148             "use the simple output format", false);
     89    psMetadataAddStr(newrunArgs, PS_LIST_TAIL, "-set_workdir",  0,            "define workdir", NULL);
     90    psMetadataAddStr(newrunArgs, PS_LIST_TAIL, "-set_label",  0,            "define label", NULL);
     91    psMetadataAddStr(newrunArgs, PS_LIST_TAIL, "-set_reduction",  0,            "define reduction class", NULL);
     92    psMetadataAddStr(newrunArgs, PS_LIST_TAIL, "-set_expgroup",  0,            "define exposure group", NULL);
     93    psMetadataAddStr(newrunArgs, PS_LIST_TAIL, "-set_dvodb",  0,            "define DVO db", NULL);
     94    psMetadataAddStr(newrunArgs, PS_LIST_TAIL, "-set_filter",  0,            "define filter", NULL);
     95    psMetadataAddStr(newrunArgs, PS_LIST_TAIL, "-set_tess_id",  0,            "define tessalation", NULL);
     96    psMetadataAddStr(newrunArgs, PS_LIST_TAIL, "-set_end_stage",  0,            "define processing end stage", NULL);
     97    psMetadataAddStr(newrunArgs, PS_LIST_TAIL, "-set_region",  0,            "define region", NULL);
     98
     99    psMetadataAddBool(newrunArgs, PS_LIST_TAIL, "-pretend",  0,            "print the exposures that would be included in the detrend run and exit", false);
     100    psMetadataAddBool(newrunArgs, PS_LIST_TAIL, "-simple", 0,            "use the simple output format", false);
    149101
    150102    // -addexp
    151103    psMetadata *addexpArgs = psMetadataAlloc();
    152     psMetadataAddStr(addexpArgs, PS_LIST_TAIL, "-corr_id", 0,
    153             "define Flat Correction ID (required)", NULL);
    154     psMetadataAddStr(addexpArgs, PS_LIST_TAIL, "-chip_id", 0,
    155             "define Chip ID (required)", NULL);
     104    psMetadataAddStr(addexpArgs, PS_LIST_TAIL, "-corr_id", 0,            "define Flat Correction ID (required)", NULL);
     105    psMetadataAddStr(addexpArgs, PS_LIST_TAIL, "-chip_id", 0,            "define Chip ID (required)", NULL);
    156106
    157107    // -pending
    158108    psMetadata *pendingArgs = psMetadataAlloc();
    159     psMetadataAddU64(pendingArgs, PS_LIST_TAIL, "-limit",  0,
    160             "limit result set to N items", 0);
    161     psMetadataAddBool(pendingArgs, PS_LIST_TAIL, "-simple", 0,
    162             "use the simple output format", false);
     109    psMetadataAddU64(pendingArgs, PS_LIST_TAIL, "-limit",  0,            "limit result set to N items", 0);
     110    psMetadataAddBool(pendingArgs, PS_LIST_TAIL, "-simple", 0,            "use the simple output format", false);
    163111
    164112    // -flatcorrimfile
    165113    psMetadata *flatcorrimfileArgs = psMetadataAlloc();
    166     psMetadataAddStr(flatcorrimfileArgs, PS_LIST_TAIL, "-corr_id",  0,
    167             "search by flat correction ID (required)", NULL);
    168     psMetadataAddU64(flatcorrimfileArgs, PS_LIST_TAIL, "-limit",  0,
    169             "limit result set to N items", 0);
    170     psMetadataAddBool(flatcorrimfileArgs, PS_LIST_TAIL, "-simple", 0,
    171             "use the simple output format", false);
     114    psMetadataAddStr(flatcorrimfileArgs, PS_LIST_TAIL, "-corr_id",  0,            "search by flat correction ID (required)", NULL);
     115    psMetadataAddU64(flatcorrimfileArgs, PS_LIST_TAIL, "-limit",  0,            "limit result set to N items", 0);
     116    psMetadataAddBool(flatcorrimfileArgs, PS_LIST_TAIL, "-simple", 0,            "use the simple output format", false);
    172117
    173118    // -done
    174119    psMetadata *doneArgs = psMetadataAlloc();
    175     psMetadataAddStr(doneArgs, PS_LIST_TAIL, "-corr_id",  0,
    176             "define correction id (required)", NULL);
    177     psMetadataAddStr(doneArgs, PS_LIST_TAIL, "-stats",  0,
    178             "define stats (required)", NULL);
     120    psMetadataAddStr(doneArgs, PS_LIST_TAIL, "-corr_id",  0,            "define correction id (required)", NULL);
     121    psMetadataAddStr(doneArgs, PS_LIST_TAIL, "-stats",  0,            "define stats (required)", NULL);
    179122
    180123    // -updaterun
    181124    psMetadata *updaterunArgs = psMetadataAlloc();
    182     psMetadataAddStr(updaterunArgs, PS_LIST_TAIL, "-corr_id",  0,
    183             "define correction id (required)", NULL);
    184     psMetadataAddStr(updaterunArgs, PS_LIST_TAIL, "-state", 0,
    185             "set state (required)", NULL);
     125    psMetadataAddStr(updaterunArgs, PS_LIST_TAIL, "-corr_id",  0,            "define correction id (required)", NULL);
     126    psMetadataAddStr(updaterunArgs, PS_LIST_TAIL, "-state", 0,            "set state (required)", NULL);
    186127
    187128    psFree(now);
     
    190131    psMetadata *modes = psMetadataAlloc();
    191132
    192     PXOPT_ADD_MODE("-newrun",  "start a new flat correction run",
    193         FLATCORR_MODE_NEWRUN,       newrunArgs);
    194     PXOPT_ADD_MODE("-addexp",  "add an exp to a flat correction run",
    195         FLATCORR_MODE_ADDEXP,       addexpArgs);
    196     PXOPT_ADD_MODE("-pending", "show flat correction runs needing to be processed",
    197         FLATCORR_MODE_PENDING,      pendingArgs);
    198     PXOPT_ADD_MODE("-flatcorrimfile", "list all the imfiles in a flat correction run",
    199         FLATCORR_MODE_FLATCORRIMFILE, flatcorrimfileArgs);
    200     PXOPT_ADD_MODE("-done",  "change a flat calibration run's state",
    201         FLATCORR_MODE_DONE,         doneArgs);
    202     PXOPT_ADD_MODE("-updaterun",  "change a flat calibration run's state",
    203         FLATCORR_MODE_UPDATERUN,   updaterunArgs);
     133    PXOPT_ADD_MODE("-newrun",  "start a new flat correction run",        FLATCORR_MODE_NEWRUN,       newrunArgs);
     134    PXOPT_ADD_MODE("-addexp",  "add an exp to a flat correction run",        FLATCORR_MODE_ADDEXP,       addexpArgs);
     135    PXOPT_ADD_MODE("-pending", "show flat correction runs needing to be processed",        FLATCORR_MODE_PENDING,      pendingArgs);
     136    PXOPT_ADD_MODE("-flatcorrimfile", "list all the imfiles in a flat correction run",        FLATCORR_MODE_FLATCORRIMFILE, flatcorrimfileArgs);
     137    PXOPT_ADD_MODE("-done",  "change a flat calibration run's state",        FLATCORR_MODE_DONE,         doneArgs);
     138    PXOPT_ADD_MODE("-updaterun",  "change a flat calibration run's state",        FLATCORR_MODE_UPDATERUN,   updaterunArgs);
    204139
    205140    if (!pxGetOptions(stderr, argc, argv, config, modes, argSets)) {
     
    213148    psFree(argSets);
    214149    psFree(modes);
    215 
    216     // setup search criterion
    217 #define addWhereStr(name) \
    218 { \
    219     psString str = NULL; \
    220     bool status = false; \
    221     if ((str = psMetadataLookupStr(&status, config->args, "-" #name))) { \
    222         if (!psMetadataAddStr(config->where, PS_LIST_TAIL, #name, 0, "==", str)) {\
    223             psError(PS_ERR_UNKNOWN, false, "failed to add item " #name); \
    224             psFree(config); \
    225             return NULL; \
    226         } \
    227     } \
    228 }
    229 
    230     // generate SQL where clause
    231     config->where = psMetadataAlloc();
    232 
    233 {   
    234     psString str = NULL;
    235     bool status = false;
    236     if ((str = psMetadataLookupStr(&status, config->args, "-corr_id"))) {
    237         if (!psMetadataAddS64(config->where, PS_LIST_TAIL, "corr_id", 0, "==", (psS64)atoll(str))) {
    238             psError(PS_ERR_UNKNOWN, false, "failed to add item corr_id");
    239             psFree(config);
    240             return NULL;
    241         }
    242     }
    243 }
    244 
    245     if (config->where->list->n < 1) {
    246         psFree(config->where);
    247         config->where = NULL;
    248     }
    249150
    250151    // define Database handle, if used
Note: See TracChangeset for help on using the changeset viewer.