IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 18650


Ignore:
Timestamp:
Jul 21, 2008, 3:29:19 PM (18 years ago)
Author:
Paul Price
Message:

Must parse arguments after defining a camera; otherwise can't get camera-dependent recipe values.

Location:
trunk/ppStack/src
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/ppStack/src/ppStack.c

    r17258 r18650  
    2626    (void) psTraceSetLevel("ppStack", 5);
    2727
    28     if (!ppStackArguments(argc, argv, config)) {
     28    if (!ppStackArgumentsSetup(argc, argv, config)) {
    2929        psErrorStackPrint(stderr, "Error reading arguments.\n");
    3030        exitValue = PS_EXIT_CONFIG_ERROR;
     
    4040    if (!ppStackCamera(config)) {
    4141        psErrorStackPrint(stderr, "Error setting up input files.\n");
     42        exitValue = PS_EXIT_CONFIG_ERROR;
     43        goto die;
     44    }
     45
     46    if (!ppStackArgumentsParse(config)) {
     47        psErrorStackPrint(stderr, "Error reading arguments.\n");
    4248        exitValue = PS_EXIT_CONFIG_ERROR;
    4349        goto die;
  • trunk/ppStack/src/ppStack.h

    r18382 r18650  
    77#include <psmodules.h>
    88
     9// Setup command-line arguments
     10bool ppStackArgumentsSetup(int argc, char *argv[], // Command-line arguments
     11                           pmConfig *config  // Configuration
     12    );
     13
    914// Parse command-line arguments
    10 bool ppStackArguments(int argc, char *argv[], // Command-line arguments
    11                       pmConfig *config  // Configuration
     15bool ppStackArgumentsParse(pmConfig *config  // Configuration
    1216    );
    1317
  • trunk/ppStack/src/ppStackArguments.c

    r18559 r18650  
    4040// Get a float-point value from the command-line or recipe, and add it to the arguments
    4141#define VALUE_ARG_RECIPE_FLOAT(ARGNAME, RECIPENAME, TYPE) { \
    42     ps##TYPE value = psMetadataLookup##TYPE(NULL, arguments, ARGNAME); \
     42    ps##TYPE value = psMetadataLookup##TYPE(NULL, config->arguments, ARGNAME); \
    4343    if (isnan(value)) { \
    4444        bool mdok; \
     
    5555// Get an integer value from the command-line or recipe, and add it to the arguments
    5656#define VALUE_ARG_RECIPE_INT(ARGNAME, RECIPENAME, TYPE, UNSET) { \
    57     ps##TYPE value = psMetadataLookup##TYPE(NULL, arguments, ARGNAME); \
     57    ps##TYPE value = psMetadataLookup##TYPE(NULL, config->arguments, ARGNAME); \
    5858    if (value == UNSET) { \
    5959        bool mdok; \
     
    7171#define VALUE_ARG_RECIPE_MASK(ARGNAME, RECIPENAME) { \
    7272    bool mdok; \
    73     const char *name = psMetadataLookupStr(&mdok, arguments, ARGNAME); \
     73    const char *name = psMetadataLookupStr(&mdok, config->arguments, ARGNAME); \
    7474    if (!mdok || !name || strlen(name) == 0) { \
    7575        name = psMetadataLookupStr(NULL, recipe, RECIPENAME); \
     
    8686// Get a statistic name from the command-line or recipe, and add the enum to the arguments
    8787#define VALUE_ARG_RECIPE_STAT(ARGNAME, RECIPENAME) { \
    88     const char *stat = psMetadataLookupStr(NULL, arguments, ARGNAME); \
     88    const char *stat = psMetadataLookupStr(NULL, config->arguments, ARGNAME); \
    8989    if (!stat) { \
    9090        stat = psMetadataLookupStr(NULL, recipe, RECIPENAME); \
     
    132132}
    133133
    134 bool ppStackArguments(int argc, char *argv[], pmConfig *config)
     134bool ppStackArgumentsSetup(int argc, char *argv[], pmConfig *config)
    135135{
    136136    assert(config);
     
    139139    pmConfigFileSetsMD(config->arguments, &argc, argv, "PPSTACK.SOURCES", "-sources", NULL);
    140140
    141     psMetadata *arguments = psMetadataAlloc(); // Command-line arguments
     141    psMetadata *arguments = config->arguments; // Command-line arguments
    142142    psMetadataAddStr(arguments, PS_LIST_TAIL, "-stamps", 0, "Stamps file with x,y,flux per line", NULL);
    143143    psMetadataAddStr(arguments, PS_LIST_TAIL, "-stats", 0, "Statistics file", NULL);
     
    184184    if (!inputs || numBad > 0) {
    185185        psError(PS_ERR_BAD_PARAMETER_VALUE, false, "Unable to cleanly read MDC file with inputs.");
    186         goto ERROR;
     186        return false;
    187187    }
    188188    psMetadataAddMetadata(config->arguments, PS_LIST_TAIL, "INPUTS", 0,
     
    193193
    194194    valueArgStr(arguments, "-stats", "STATS", config->arguments);
     195
     196    return true;
     197}
     198
     199bool ppStackArgumentsParse(pmConfig *config)
     200{
     201    assert(config);
     202
     203    psMetadata *arguments = config->arguments; // Command-line arguments
    195204
    196205    psMetadata *recipe = psMetadataLookupMetadata(NULL, config->recipes, PPSTACK_RECIPE); // Recipe for ppSim
Note: See TracChangeset for help on using the changeset viewer.