IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 14240


Ignore:
Timestamp:
Jul 16, 2007, 2:25:26 PM (19 years ago)
Author:
jhoblitt
Message:

add dettool -revertprocessedexp
add dettool -revertprocessedimfile

Location:
trunk/ippTools
Files:
2 added
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/ippTools/share/Makefile.am

    r14112 r14240  
    1616        dettool_raw.sql \
    1717        dettool_start_new_iteration.sql \
     18        dettool_revertprocessedexp.sql \
     19        dettool_revertprocessedimfile.sql \
    1820        dettool_todetrunsummary.sql \
    1921        dettool_tonormalizedexp.sql \
  • trunk/ippTools/src/dettool.c

    r14082 r14240  
    4141static bool inputMode(pxConfig *config);
    4242static bool rawMode(pxConfig *config);
     43// imfile
    4344static bool toprocessedimfileMode(pxConfig *config);
    4445static bool addprocessedimfileMode(pxConfig *config);
     46static bool processedimfileMode(pxConfig *config);
     47static bool revertprocessedimfileMode(pxConfig *config);
     48// exp
    4549static bool toprocessedexpMode(pxConfig *config);
    4650static bool addprocessedexpMode(pxConfig *config);
    4751static bool processedexpMode(pxConfig *config);
     52static bool revertprocessedexpMode(pxConfig *config);
     53// stacked
    4854static bool tostackedMode(pxConfig *config);
    49 static bool processedimfileMode(pxConfig *config);
    5055static bool addstackedMode(pxConfig *config);
    5156static bool stackedMode(pxConfig *config);
     
    113118        MODECASE(DETTOOL_MODE_INPUT,            inputMode);
    114119        MODECASE(DETTOOL_MODE_RAW,              rawMode);
     120        // imfile
    115121        MODECASE(DETTOOL_MODE_TOPROCESSEDIMFILE,toprocessedimfileMode);
    116122        MODECASE(DETTOOL_MODE_ADDPROCESSEDIMFILE,addprocessedimfileMode);
    117123        MODECASE(DETTOOL_MODE_PROCESSEDIMFILE,  processedimfileMode);
     124        MODECASE(DETTOOL_MODE_REVERTPROCESSEDIMFILE, revertprocessedimfileMode);
     125        // exp
    118126        MODECASE(DETTOOL_MODE_TOPROCESSEDEXP,   toprocessedexpMode);
    119127        MODECASE(DETTOOL_MODE_ADDPROCESSEDEXP,  addprocessedexpMode);
    120128        MODECASE(DETTOOL_MODE_PROCESSEDEXP,     processedexpMode);
     129        MODECASE(DETTOOL_MODE_REVERTPROCESSEDEXP, revertprocessedexpMode);
     130        // stacked
    121131        MODECASE(DETTOOL_MODE_TOSTACKED,        tostackedMode);
    122132        MODECASE(DETTOOL_MODE_ADDSTACKED,       addstackedMode);
     
    27602770}
    27612771
     2772
     2773static bool revertprocessedexpMode(pxConfig *config)
     2774{
     2775    PS_ASSERT_PTR_NON_NULL(config, false);
     2776
     2777    psString query = pxDataGet("dettool_revertprocessedexp.sql");
     2778    if (!query) {
     2779        psError(PXTOOLS_ERR_DATA, false, "failed to retreive SQL statement");
     2780        return false;
     2781    }
     2782
     2783    if (config->where) {
     2784        psString whereClause = psDBGenerateWhereConditionSQL(config->where, "detProcessedExp");
     2785        psStringAppend(&query, " AND %s", whereClause);
     2786        psFree(whereClause);
     2787    }
     2788
     2789    if (!p_psDBRunQuery(config->dbh, query)) {
     2790        psError(PS_ERR_UNKNOWN, false, "database error");
     2791        psFree(query);
     2792        return false;
     2793    }
     2794    psFree(query);
     2795
     2796    if (psDBAffectedRows(config->dbh) < 1) {
     2797        psError(PS_ERR_UNKNOWN, false, "should have affected atleast 1 row");
     2798        return false;
     2799    }
     2800
     2801    return true;
     2802}
     2803
     2804
    27622805static bool tostackedMode(pxConfig *config)
    27632806{
     
    29552998    return true;
    29562999}
     3000
     3001
     3002static bool revertprocessedimfileMode(pxConfig *config)
     3003{
     3004    PS_ASSERT_PTR_NON_NULL(config, false);
     3005
     3006    psString query = pxDataGet("dettool_revertprocessedimfile.sql");
     3007    if (!query) {
     3008        psError(PXTOOLS_ERR_DATA, false, "failed to retreive SQL statement");
     3009        return false;
     3010    }
     3011
     3012    if (config->where) {
     3013        psString whereClause = psDBGenerateWhereConditionSQL(config->where, "detProcessedImfile");
     3014        psStringAppend(&query, " AND %s", whereClause);
     3015        psFree(whereClause);
     3016    }
     3017
     3018    if (!p_psDBRunQuery(config->dbh, query)) {
     3019        psError(PS_ERR_UNKNOWN, false, "database error");
     3020        psFree(query);
     3021        return false;
     3022    }
     3023    psFree(query);
     3024
     3025    if (psDBAffectedRows(config->dbh) < 1) {
     3026        psError(PS_ERR_UNKNOWN, false, "should have affected atleast 1 row");
     3027        return false;
     3028    }
     3029
     3030    return true;
     3031}
     3032
    29573033
    29583034static bool addstackedMode(pxConfig *config)
  • trunk/ippTools/src/dettool.h

    r14076 r14240  
    3636    DETTOOL_MODE_ADDPROCESSEDIMFILE,
    3737    DETTOOL_MODE_PROCESSEDIMFILE,
     38    DETTOOL_MODE_REVERTPROCESSEDIMFILE,
    3839    DETTOOL_MODE_TOPROCESSEDEXP,
    3940    DETTOOL_MODE_ADDPROCESSEDEXP,
    4041    DETTOOL_MODE_PROCESSEDEXP,
     42    DETTOOL_MODE_REVERTPROCESSEDEXP,
    4143    DETTOOL_MODE_TOSTACKED,
    4244    DETTOOL_MODE_ADDSTACKED,
  • trunk/ippTools/src/dettoolConfig.c

    r14082 r14240  
    381381            "use the simple output format", false);
    382382
     383    // -revertprocessedimfile
     384    psMetadata *revertprocessedimfileArgs = psMetadataAlloc();
     385    psMetadataAddStr(revertprocessedimfileArgs, PS_LIST_TAIL, "-det_id",  0,
     386            "search for detrend ID (required)", NULL);
     387    psMetadataAddStr(revertprocessedimfileArgs, PS_LIST_TAIL, "-exp_id",  0,
     388            "search by exposure ID", NULL);
     389    psMetadataAddStr(revertprocessedimfileArgs, PS_LIST_TAIL, "-class_id",  0,
     390            "search by class ID", NULL);
     391    psMetadataAddS16(revertprocessedimfileArgs, PS_LIST_TAIL, "-code",  0,
     392            "search by fault code", 0);
     393
    383394    // -toprocessedexp
    384395    psMetadata *toprocessedexpArgs = psMetadataAlloc();
     
    435446    psMetadataAddBool(processedexpArgs, PS_LIST_TAIL, "-simple",  0,
    436447            "use the simple output format", false);
     448
     449    // -revertprocessedexp
     450    psMetadata *revertprocessedexpArgs = psMetadataAlloc();
     451    psMetadataAddStr(revertprocessedexpArgs, PS_LIST_TAIL, "-det_id",  0,
     452            "search by detrend ID (required)", NULL);
     453    psMetadataAddStr(revertprocessedexpArgs, PS_LIST_TAIL, "-exp_id",  0,
     454            "search by exposure ID", NULL);
     455    psMetadataAddS16(revertprocessedexpArgs, PS_LIST_TAIL, "-code",  0,
     456            "search by fault code", 0);
    437457
    438458    // -tostacked
     
    935955    PXTOOL_ADD_MODE("-addprocessedimfile", "", DETTOOL_MODE_ADDPROCESSEDIMFILE,  addprocessedimfileArgs);
    936956    PXTOOL_ADD_MODE("-processedimfile", "", DETTOOL_MODE_PROCESSEDIMFILE, processedimfileArgs);
     957    PXTOOL_ADD_MODE("-revertprocessedimfile", "", DETTOOL_MODE_REVERTPROCESSEDIMFILE, revertprocessedimfileArgs);
    937958    PXTOOL_ADD_MODE("-toprocessedexp",  "", DETTOOL_MODE_TOPROCESSEDEXP,  toprocessedexpArgs);
    938959    PXTOOL_ADD_MODE("-addprocessedexp", "", DETTOOL_MODE_ADDPROCESSEDEXP, addprocessedexpArgs);
     960    PXTOOL_ADD_MODE("-revertprocessedexp", "", DETTOOL_MODE_REVERTPROCESSEDEXP, revertprocessedexpArgs);
    939961    PXTOOL_ADD_MODE("-processedexp",    "", DETTOOL_MODE_PROCESSEDEXP, processedexpArgs);
    940962    PXTOOL_ADD_MODE("-tostacked",       "", DETTOOL_MODE_TOSTACKED,     tostackedArgs);
     
    10591081    }
    10601082
     1083    // convert '-code' to 'fault'
     1084    {
     1085        psS16 fault = 0;
     1086        bool status = false;
     1087        if ((fault = psMetadataLookupS16(&status, config->args, "-code"))) {
     1088            if (!psMetadataAddS16(config->where, PS_LIST_TAIL, "fault", 0, "==", fault)) {
     1089                psError(PS_ERR_UNKNOWN, false, "failed to add item fault");
     1090                psFree(config);
     1091                return NULL;
     1092            }
     1093        }
     1094    }
     1095
    10611096    if (config->where->list->n < 1) {
    10621097        psFree(config->where);
Note: See TracChangeset for help on using the changeset viewer.