IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Aug 21, 2007, 4:27:42 PM (19 years ago)
Author:
jhoblitt
Message:

pz*tool modernization efforts

File:
1 edited

Legend:

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

    r14023 r14600  
    4545    // -seen
    4646    psMetadata *seenArgs = psMetadataAlloc();
    47     psMetadataAddStr(seenArgs, PS_LIST_TAIL, "-exp_id", 0,
     47    psMetadataAddStr(seenArgs, PS_LIST_TAIL, "-exp_name", 0,
    4848            "define exposure ID", NULL);
    4949    psMetadataAddStr(seenArgs, PS_LIST_TAIL, "-inst", 0,
     
    5858    // -pendingexp
    5959    psMetadata *pendingexpArgs = psMetadataAlloc();
    60     psMetadataAddStr(pendingexpArgs, PS_LIST_TAIL, "-exp_id", 0,
     60    psMetadataAddStr(pendingexpArgs, PS_LIST_TAIL, "-exp_name", 0,
    6161            "define exposure ID", NULL);
    6262    psMetadataAddStr(pendingexpArgs, PS_LIST_TAIL, "-inst", 0,
     
    7171    // -pendingimfile
    7272    psMetadata *pendingimfileArgs = psMetadataAlloc();
    73     psMetadataAddStr(pendingimfileArgs, PS_LIST_TAIL, "-exp_id", 0,
     73    psMetadataAddStr(pendingimfileArgs, PS_LIST_TAIL, "-exp_name", 0,
    7474            "define exposure ID", NULL);
    7575    psMetadataAddStr(pendingimfileArgs, PS_LIST_TAIL, "-inst", 0,
     
    117117
    118118    psMetadata *argSets = psMetadataAlloc();
    119     // find which mode we're running under
    120     PXTOOL_MODE("-seen",            PZTOOL_MODE_SEEN,         seenArgs);
    121     PXTOOL_MODE("-pendingexp",      PZTOOL_MODE_PENDINGEXP,   pendingexpArgs);
    122     PXTOOL_MODE("-pendingimfile",   PZTOOL_MODE_PENDINGIMFILE,pendingimfileArgs);
    123     PXTOOL_MODE("-copydone",        PZTOOL_MODE_COPYDONE,     copydoneArgs);
     119    psMetadata *modes = psMetadataAlloc();
    124120
    125     bool argErr = false;
    126     if (config->mode == PZTOOL_MODE_NONE) {
    127         argErr = true;
    128         fprintf (stderr, "mode argument is required\n");
    129     } else if (! psArgumentParse(config->args, &argc, argv) || argc != 1) {
    130         argErr = true;
    131         fprintf (stderr, "error parsing arguments\n");
    132     }
     121    PXTOOL_ADD_MODE("-seen",            "", PZTOOL_MODE_SEEN,         seenArgs);
     122    PXTOOL_ADD_MODE("-pendingexp",      "", PZTOOL_MODE_PENDINGEXP,   pendingexpArgs);
     123    PXTOOL_ADD_MODE("-pendingimfile",   "", PZTOOL_MODE_PENDINGIMFILE,pendingimfileArgs);
     124    PXTOOL_ADD_MODE("-copydone",        "", PZTOOL_MODE_COPYDONE,     copydoneArgs);
    133125
    134     if (argErr) {
    135         printf("\nPan-STARRS Detrend Tool\n");
    136         printf("Usage: %s <mode> [<options>]\n\n", argv[0]);
    137         printf(" <mode> :\n\n");
    138 
    139         psMetadataIterator *iter = psMetadataIteratorAlloc(argSets, 0, NULL);
    140         psMetadataItem *item = NULL;
    141         while ((item = psMetadataGetAndIncrement(iter))) {
    142             if (!item->type == PS_DATA_METADATA) {
    143                 psAbort("all options must be specified as a metadata");
    144             }
    145 
    146             fprintf(stdout, "%s ", item->name);
    147             psArgumentHelp(item->data.md);
    148         }
    149         psFree(iter);
    150 
     126    if (!pxGetOptions(stderr, argc, argv, config, modes, argSets)) {
     127        psError(PS_ERR_UNKNOWN, true, "option parsing failed");
    151128        psFree(argSets);
     129        psFree(modes);
    152130        psFree(config);
    153131        return NULL;
     
    155133
    156134    psFree(argSets);
     135    psFree(modes);
    157136
    158137    // setup search criterion
     
    173152    config->where = psMetadataAlloc();
    174153
    175     addWhereStr(exp_id);
     154    addWhereStr(exp_name);
    176155    addWhereStr(telescope);
    177156    // convert '-inst' to 'camera'
     
    206185    }
    207186
    208     // save argv/argc
    209     config->argv = argv;
    210     config->argc = argc;
    211 
    212187    return config;
    213188}
Note: See TracChangeset for help on using the changeset viewer.