IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Nov 8, 2011, 2:44:12 PM (15 years ago)
Author:
eugene
Message:

merge changes from trunk

Location:
branches/eam_branches/ipp-20110906
Files:
20 edited
3 copied

Legend:

Unmodified
Added
Removed
  • branches/eam_branches/ipp-20110906

  • branches/eam_branches/ipp-20110906/ippTools/src

  • branches/eam_branches/ipp-20110906/ippTools/src/Makefile.am

    r31435 r32630  
    2929        diffphottool \
    3030        minidvodbtool \
    31         laptool
     31        laptool \
     32        vptool
    3233
    3334pkginclude_HEADERS = \
     
    7879        diffphottool.h \
    7980        minidvodbtool.h \
    80         laptool.h
     81        laptool.h \
     82        vptool.h
    8183
    8284lib_LTLIBRARIES = libpxtools.la
     
    298300    laptoolConfig.c
    299301
     302vptool_CFLAGS = $(PSLIB_CFLAGS) $(PSMODULES_CFLAGS) $(IPPDB_CFLAGS)
     303vptool_LDADD = $(PSLIB_LIBS) $(PSMODULES_LIBS) $(IPPDB_LIBS) libpxtools.la
     304vptool_SOURCES = \
     305    vptool.c \
     306    vptoolConfig.c
     307
    300308clean-local:
    301309        -rm -f TAGS
  • branches/eam_branches/ipp-20110906/ippTools/src/addtool.c

    r31680 r32630  
    280280
    281281    }
     282
     283    //if we grab a group of camRun/stackRuns that have multiple camRun/stackRun pointing to the same exp_id/stack_id, and that exp_id/stack_id has never before been added to addRun, we need to group by exp_id/stack_id to ensure that only 1 of the camRun/stackRun for that exp_id is added to the addRun stage.
     284
     285    if (strcmp(stage,"cam") == 0) {
     286        psStringAppend(&query, " GROUP BY exp_id");
     287   }
     288      if (strcmp(stage,"stack") == 0) {
     289        psStringAppend(&query, " GROUP BY stack_id");
     290      }
     291    if (strcmp(stage,"staticsky") == 0) {
     292        psStringAppend(&query, " GROUP BY stack_id");
     293      }
     294
     295
    282296
    283297    psTrace("addtool.c", PS_LOG_INFO,"query: \n\n%s\n\n",query);
  • branches/eam_branches/ipp-20110906/ippTools/src/chiptool.c

    r31954 r32630  
    4343static bool revertprocessedimfileMode(pxConfig *config);
    4444static bool updateprocessedimfileMode(pxConfig *config);
     45static bool dropprocessedimfileMode(pxConfig *config);
    4546static bool advanceexpMode(pxConfig *config);
    4647static bool blockMode(pxConfig *config);
     
    8889        MODECASE(CHIPTOOL_MODE_REVERTPROCESSEDIMFILE,   revertprocessedimfileMode);
    8990        MODECASE(CHIPTOOL_MODE_UPDATEPROCESSEDIMFILE,   updateprocessedimfileMode);
     91        MODECASE(CHIPTOOL_MODE_DROPPROCESSEDIMFILE,     dropprocessedimfileMode);
    9092        MODECASE(CHIPTOOL_MODE_ADVANCEEXP,              advanceexpMode);
    9193        MODECASE(CHIPTOOL_MODE_BLOCK,                   blockMode);
     
    962964    PXOPT_COPY_S64(config->args, where, "-chip_id", "chip_id", "==");
    963965    PXOPT_COPY_STR(config->args, where, "-class_id", "class_id", "==");
    964     PXOPT_LOOKUP_STR(state, config->args, "-set_state", false, NULL);
     966    PXOPT_LOOKUP_STR(state, config->args, "-set_state", false, false);
    965967    if (psListLength(where->list) == 0) {
    966968        psError(PS_ERR_UNKNOWN, true, "search parameters are required");
     
    986988
    987989
     990    return true;
     991}
     992
     993// "drop" previously processed components as though the original processing
     994// had poor quality. Sets quality, data_state, clears fault and magicked
     995// Deletes corresponding magicDSFile (if one exists)
     996static bool dropprocessedimfileMode(pxConfig *config)
     997{
     998    PS_ASSERT_PTR_NON_NULL(config, false);
     999
     1000    psMetadata *where = psMetadataAlloc();
     1001    PXOPT_COPY_S64(config->args, where, "-chip_id", "chipProcessedImfile.chip_id", "==");
     1002    PXOPT_COPY_STR(config->args, where, "-class_id", "chipProcessedImfile.class_id", "==");
     1003    PXOPT_LOOKUP_S64(chip_id, config->args, "-chip_id", true, false);
     1004    PXOPT_LOOKUP_S64(class_id, config->args, "-class_id", true, false);
     1005    PXOPT_LOOKUP_S16(quality, config->args, "-set_quality", true, false);
     1006
     1007    if (!quality) {
     1008        psError(PXTOOLS_ERR_CONFIG, true, "non-zero quality value is required");
     1009        return false;
     1010    }
     1011
     1012    if (psListLength(where->list) == 0) {
     1013        // won't get here
     1014        psError(PXTOOLS_ERR_CONFIG, true, "-chip_id and -class_id are required");
     1015        return false;
     1016    }
     1017
     1018    psString query = pxDataGet("chiptool_dropprocessedimfile_update.sql");
     1019    if (!query) {
     1020        psError(PXTOOLS_ERR_SYS, false, "failed to retreive SQL statement");
     1021        return false;
     1022    }
     1023    psString delete_query = pxDataGet("chiptool_dropprocessedimfile_delete.sql");
     1024    if (!delete_query) {
     1025        psError(PXTOOLS_ERR_SYS, false, "failed to retreive SQL statement");
     1026        return false;
     1027    }
     1028    psString whereClause = psDBGenerateWhereConditionSQL(where, NULL);
     1029    psStringAppend(&query, " WHERE %s", whereClause);
     1030    psFree(where);
     1031
     1032    if (!psDBTransaction(config->dbh)) {
     1033        psError(PS_ERR_UNKNOWN, false, "database error");
     1034        return false;
     1035    }
     1036    if (!p_psDBRunQueryF(config->dbh, query, quality)) {
     1037        if (!psDBRollback(config->dbh)) {
     1038            psError(PS_ERR_UNKNOWN, false, "database error on rollback");
     1039        }
     1040        psError(PS_ERR_UNKNOWN, false, "database error");
     1041        psFree(query);
     1042        return false;
     1043    }
     1044    psFree(query);
     1045
     1046    psStringAppend(&delete_query, " AND %s", whereClause);
     1047    psFree(whereClause);
     1048    if (!p_psDBRunQuery(config->dbh, delete_query)) {
     1049        if (!psDBRollback(config->dbh)) {
     1050            psError(PS_ERR_UNKNOWN, false, "database error on rollback");
     1051        }
     1052        psError(PS_ERR_UNKNOWN, false, "database error");
     1053        psFree(delete_query);
     1054        return false;
     1055    }
     1056    psFree(delete_query);
     1057
     1058    if (!psDBCommit(config->dbh)) {
     1059        psError(PS_ERR_UNKNOWN, false, "database error");
     1060        return false;
     1061    }
    9881062    return true;
    9891063}
     
    14181492    psMetadata *where = psMetadataAlloc();
    14191493    pxAddLabelSearchArgs (config, where, "-label", "label", "==");
    1420 
     1494    PXOPT_COPY_S64(config->args, where,  "-chip_id",    "chip_id", "==");
    14211495    // look for completed chipPendingExp
    14221496    // migrate them to chipProccessedExp & camPendingExp
     
    14321506        psFree(whereClause);
    14331507    }
     1508
     1509    psTrace("chiptool", 10, "%s\n", query);
    14341510    psFree(where);
    14351511
  • branches/eam_branches/ipp-20110906/ippTools/src/chiptool.h

    r29416 r32630  
    3333    CHIPTOOL_MODE_REVERTPROCESSEDIMFILE,
    3434    CHIPTOOL_MODE_UPDATEPROCESSEDIMFILE,
     35    CHIPTOOL_MODE_DROPPROCESSEDIMFILE,
    3536    CHIPTOOL_MODE_SETIMFILETOUPDATE,
    3637    CHIPTOOL_MODE_ADVANCEEXP,
  • branches/eam_branches/ipp-20110906/ippTools/src/chiptoolConfig.c

    r31954 r32630  
    237237    psMetadataAddStr(updateprocessedimfileArgs, PS_LIST_TAIL, "-set_state", 0,         "set state", NULL);
    238238    psMetadataAddS16(updateprocessedimfileArgs, PS_LIST_TAIL, "-set_quality",  0,            "set quality", 0);
    239     // -processedExp
     239
     240    // -dropprocessedimfile
     241    psMetadata *dropprocessedimfileArgs = psMetadataAlloc();
     242    psMetadataAddS64(dropprocessedimfileArgs, PS_LIST_TAIL, "-chip_id",  0,            "search by chip ID (required)", 0);
     243    psMetadataAddStr(dropprocessedimfileArgs,  PS_LIST_TAIL, "-class_id",           0, "search by class ID (required)", NULL);
     244    psMetadataAddS16(dropprocessedimfileArgs, PS_LIST_TAIL, "-set_quality",  0,        "set quality (required)", 0);
     245
     246    // -listrun
    240247    psMetadata *listrunArgs = psMetadataAlloc();
    241248    pxchipSetSearchArgs(listrunArgs);
     
    372379    PXOPT_ADD_MODE("-processedimfile",      "show processed imfiles",               CHIPTOOL_MODE_PROCESSEDIMFILE,      processedimfileArgs);
    373380    PXOPT_ADD_MODE("-updateprocessedimfile","change procesed imfile properties",    CHIPTOOL_MODE_UPDATEPROCESSEDIMFILE,updateprocessedimfileArgs);
     381    PXOPT_ADD_MODE("-dropprocessedimfile","drop previously procesed imfile",        CHIPTOOL_MODE_DROPPROCESSEDIMFILE,  dropprocessedimfileArgs);
    374382    PXOPT_ADD_MODE("-revertprocessedimfile","undo a processed imfile",              CHIPTOOL_MODE_REVERTPROCESSEDIMFILE,revertprocessedimfileArgs);
    375383    PXOPT_ADD_MODE("-runstate",             "list the states of chip run",          CHIPTOOL_MODE_RUNSTATE,             runstateArgs);
  • branches/eam_branches/ipp-20110906/ippTools/src/difftool.c

    r32218 r32630  
    16341634    PXOPT_COPY_F32(config->args, selectWhere, "-timediff",
    16351635                   "ABS(TIME_TO_SEC(TIMEDIFF(inputRawExp.dateobs, templateRawExp.dateobs)))", "<=");
     1636    PXOPT_COPY_F32(config->args, selectWhere, "-mintimediff",
     1637                   "ABS(TIME_TO_SEC(TIMEDIFF(inputRawExp.dateobs, templateRawExp.dateobs)))", ">=");
    16361638
    16371639    // other where restrictions:
     
    18671869        const char *tess_id = psMetadataLookupStr(NULL, row, "tess_id");
    18681870        psString input_data_group = psMetadataLookupStr(NULL, row, "input_data_group");
    1869         if (input_data_group) {
     1871        if (!data_group) {
    18701872          data_group = input_data_group;
    18711873        }
     
    19341936            return false;
    19351937        }
     1938        psS64 numSkycells = psDBAffectedRows(config->dbh);
     1939        if (numSkycells > 0) {
     1940            if (!setdiffRunState(config, run->diff_id, "new", false)) {
     1941                psError(PS_ERR_UNKNOWN, false, "Failed to change diffRun.state for diff_id: %" PRId64,
     1942                        run->diff_id);
     1943                psFree(input);
     1944                psFree(diff);
     1945                psFree(run);
     1946                psFree(list);
     1947                psFree(insert);
     1948                psFree(results);
     1949                if (!psDBRollback(config->dbh)) {
     1950                    psError(PS_ERR_UNKNOWN, false, "database error");
     1951                }
     1952                return false;
     1953            }
     1954            run->state = psStringCopy("new");
     1955        } else {
     1956            // No overlap between the warps. Insert a dummy skycell which will complete this pair of warps
     1957            // XXX: we'd like to use diffInputSkyfileRowAlloc and diffInputSkyfileInsert but there doesn't
     1958            // seem to be a way to pass in NULL for skycell_id, stack1 and stack2
     1959            psString dummyQuery = NULL;
     1960            psStringAppend(&dummyQuery,
     1961              "INSERT INTO diffInputSkyfile VALUES(%" PRId64 ", NULL, %s, NULL, %s, NULL, '%s', 0)",
     1962                    run->diff_id,
     1963                    input,                      // warp1
     1964                    template,                   // warp2
     1965                    tess_id);
     1966            if (!p_psDBRunQuery(config->dbh, dummyQuery)) {
     1967                psError(PS_ERR_UNKNOWN, false, "database error");
     1968                psFree(dummyQuery);
     1969                psFree(input);
     1970                psFree(diff);
     1971                psFree(run);
     1972                psFree(list);
     1973                psFree(insert);
     1974                psFree(results);
     1975                if (!psDBRollback(config->dbh)) {
     1976                    psError(PS_ERR_UNKNOWN, false, "database error");
     1977                }
     1978                return false;
     1979            }
     1980            psFree(dummyQuery);
     1981            psString finishQuery = NULL;
     1982            psStringAppend( &finishQuery,
     1983                "UPDATE diffRun set state ='full', note = 'dummy run - no overlap' WHERE diff_id = %" PRId64,
     1984                run->diff_id);
     1985            if (!p_psDBRunQuery(config->dbh, finishQuery)) {
     1986                psError(PS_ERR_UNKNOWN, false, "database error");
     1987                psFree(finishQuery);
     1988                psFree(input);
     1989                psFree(diff);
     1990                psFree(run);
     1991                psFree(list);
     1992                psFree(insert);
     1993                psFree(results);
     1994                if (!psDBRollback(config->dbh)) {
     1995                    psError(PS_ERR_UNKNOWN, false, "database error");
     1996                }
     1997                return false;
     1998            }
     1999            psFree(finishQuery);
     2000            run->state = psStringCopy("full");
     2001        }
    19362002        psFree(input);
    19372003        psFree(diff);
    1938 
    1939         if (!setdiffRunState(config, run->diff_id, "new", false)) {
    1940             psError(PS_ERR_UNKNOWN, false, "Failed to change diffRun.state for diff_id: %" PRId64,
    1941                     run->diff_id);
    1942             psFree(run);
    1943             psFree(list);
    1944             psFree(insert);
    1945             psFree(results);
    1946             if (!psDBRollback(config->dbh)) {
    1947                 psError(PS_ERR_UNKNOWN, false, "database error");
    1948             }
    1949             return false;
    1950         }
    19512004
    19522005        psArrayAdd(list, list->n, run);
  • branches/eam_branches/ipp-20110906/ippTools/src/difftoolConfig.c

    r31435 r32630  
    283283    psMetadataAddStr(definewarpwarpArgs, PS_LIST_TAIL, "-obs_mode", 0, "search by observation mode", NULL);
    284284    psMetadataAddF32(definewarpwarpArgs, PS_LIST_TAIL, "-timediff", 0, "limit time difference between input and template", NAN);
     285    psMetadataAddF32(definewarpwarpArgs, PS_LIST_TAIL, "-mintimediff", 0, "limit time difference between input and template to be greater than this", NAN);
    285286    psMetadataAddBool(definewarpwarpArgs, PS_LIST_TAIL, "-backwards", 0, "Template comes after input?", false);
    286287    psMetadataAddF32(definewarpwarpArgs, PS_LIST_TAIL, "-rotdiff", 0, "limit rotator difference between input and template", NAN);
  • branches/eam_branches/ipp-20110906/ippTools/src/laptool.c

    r31827 r32630  
    3030static bool updateexpMode(pxConfig *config);
    3131
     32static bool diffcheckMode(pxConfig *config);
     33
    3234static bool inactiveexpMode(pxConfig *config);
    3335
     
    6264    MODECASE(LAPTOOL_MODE_UPDATEEXP,     updateexpMode);
    6365
     66    MODECASE(LAPTOOL_MODE_DIFFCHECK,     diffcheckMode);
     67   
    6468    MODECASE(LAPTOOL_MODE_INACTIVEEXP,   inactiveexpMode);
    6569  default:
     
    276280  PXOPT_COPY_STR(config->args, where, "-filter", "rawExp.filter", "==");
    277281
     282  psMetadata *chipWhere = psMetadataAlloc();
     283  PXOPT_COPY_S64(config->args, chipWhere, "-seq_id", "lapRun.seq_id", "==");
     284 
    278285  // This seems unnecessarily clunky.
    279286  if (!all_obsmode) {
     
    296303  }
    297304
     305  psString chipWhereClause = psDBGenerateWhereConditionSQL(chipWhere,NULL);
    298306  if (whereClause) {
    299307    psStringSubstitute(&query,whereClause,"@WHERE@");
    300308  }
     309  if (chipWhereClause) {
     310    psStringSubstitute(&query,chipWhereClause,"@CHIPWHERE@");
     311  }
    301312  psFree(where);
     313  psFree(chipWhere);
    302314
    303315  // Fetch exposures
     
    755767}
    756768
    757 
    758    
     769static bool diffcheckMode(pxConfig *config)
     770{
     771  PS_ASSERT_PTR_NON_NULL(config, false);
     772  PXOPT_LOOKUP_BOOL(simple, config->args, "-simple", false);
     773 
     774  psMetadata *where = psMetadataAlloc();
     775  PXOPT_COPY_S64(config->args, where, "-lap_id", "lapRun.lap_id", "==");
     776  PXOPT_COPY_S64(config->args, where, "-exp_id",  "exp_id", "==");
     777  PXOPT_COPY_S64(config->args, where, "-chip_id", "chip_id", "==");
     778  PXOPT_COPY_S64(config->args, where, "-warp_id", "warp_id", "==");
     779  PXOPT_COPY_S64(config->args, where, "-seq_id",  "seq_id", "==");
     780  PXOPT_COPY_STR(config->args, where, "-skycell_id", "skycell_id", "==");
     781
     782  psString query = pxDataGet("laptool_WSdiff_check.sql");
     783  if (!query) {
     784    psError(PXTOOLS_ERR_SYS, false, "failed to retrieve SQL statement");
     785    return(false);
     786  }
     787 
     788  if (psListLength(where->list)) {
     789    psString whereClause = psDBGenerateWhereConditionSQL(where, NULL);
     790    psStringPrepend(&whereClause, "\n AND ");
     791    psStringSubstitute(&query,whereClause,"@WHERE@");
     792    psFree(whereClause);
     793  }
     794
     795  if (!p_psDBRunQuery(config->dbh, query)) {
     796    psError(PS_ERR_UNKNOWN, false, "database error");
     797    psFree(query);
     798    return false;
     799  }
     800  psFree(query);
     801
     802  psArray *output = p_psDBFetchResult(config->dbh);
     803  if (!output) {
     804    psErrorCode err = psErrorCodeLast();
     805    switch (err) {
     806    case PS_ERR_DB_CLIENT:
     807      psError(PXTOOLS_ERR_SYS, false, "database error");
     808    case PS_ERR_DB_SERVER:
     809      psError(PXTOOLS_ERR_PROG, false, "database error");
     810    default:
     811      psError(PXTOOLS_ERR_PROG, false, "unknown error %d",err);
     812    }
     813
     814    return false;
     815  }
     816  if (!psArrayLength(output)) {
     817    psTrace("laptool", PS_LOG_INFO, "no rows found");
     818    psFree(output);
     819    return true;
     820  }
     821
     822  if (psArrayLength(output)) {
     823    if (!ippdbPrintMetadatas(stdout, output, "lapRunWarpStackSkycells", !simple)) {
     824      psError(PS_ERR_UNKNOWN, false, "failed to print array");
     825      psFree(output);
     826      return false;
     827    }
     828  }
     829
     830  psFree(output);
     831  return(true);
     832}   
    759833
    760834static bool inactiveexpMode(pxConfig *config)
  • branches/eam_branches/ipp-20110906/ippTools/src/laptool.h

    r31435 r32630  
    1919  LAPTOOL_MODE_STACKS,
    2020  LAPTOOL_MODE_UPDATEEXP,
     21  LAPTOOL_MODE_DIFFCHECK,
    2122  LAPTOOL_MODE_INACTIVEEXP
    2223} laptoolMode;
  • branches/eam_branches/ipp-20110906/ippTools/src/laptoolConfig.c

    r31528 r32630  
    132132  ADD_OPT(Bool,updateexpArgs, "-inactive",                    "set this exposure to active", 0);
    133133
     134  // -diffcheck
     135  psMetadata *diffcheckArgs = psMetadataAlloc();
     136  ADD_OPT(S64, diffcheckArgs, "-lap_id",                      "search by lap run ID", 0);
     137  ADD_OPT(S64, diffcheckArgs, "-exp_id",                      "search by exposure ID", 0);
     138  ADD_OPT(S64, diffcheckArgs, "-chip_id",                     "search by chip ID", 0);
     139  ADD_OPT(S64, diffcheckArgs, "-warp_id",                     "search by warp ID", 0);
     140  ADD_OPT(S64, diffcheckArgs, "-seq_id",                      "search by lap sequence ID", 0);
     141  ADD_OPT(Str, diffcheckArgs, "-skycell_id",                  "search by skycell ID", 0);
     142  ADD_OPT(Bool, diffcheckArgs, "-simple",                     "use simple output format", 0);
     143 
    134144  // -inactiveexp
    135145  psMetadata *inactiveexpArgs = psMetadataAlloc();
     
    152162  PXOPT_ADD_MODE("-stacks",                  "", LAPTOOL_MODE_STACKS,           stacksArgs);
    153163  PXOPT_ADD_MODE("-updateexp",               "", LAPTOOL_MODE_UPDATEEXP,        updateexpArgs);
     164  PXOPT_ADD_MODE("-diffcheck",               "", LAPTOOL_MODE_DIFFCHECK,        diffcheckArgs);
    154165  PXOPT_ADD_MODE("-inactiveexp",             "", LAPTOOL_MODE_INACTIVEEXP,      inactiveexpArgs);
    155166 
  • branches/eam_branches/ipp-20110906/ippTools/src/magicdstool.c

    r30854 r32630  
    350350    PXOPT_LOOKUP_STR(stage, config->args, "-stage", true, false);
    351351    PXOPT_LOOKUP_STR(workdir, config->args, "-workdir", true, false);
     352    PXOPT_LOOKUP_STR(set_label, config->args, "-set_label", true, false);
    352353
    353354    // Optional
    354355    PXOPT_LOOKUP_STR(recoveryroot, config->args, "-recoveryroot", false, false);
    355356    PXOPT_LOOKUP_BOOL(noreplace, config->args, "-noreplace", false);
    356     PXOPT_LOOKUP_STR(set_label, config->args, "-set_label", false, false);
    357357    PXOPT_LOOKUP_STR(set_data_group, config->args, "-set_data_group", false, false);
    358358    PXOPT_LOOKUP_STR(note, config->args, "-set_note", false, false);
     
    374374    pxAddLabelSearchArgs (config, where, "-magic_label", "magicRun.label", "=="); // define magic label
    375375    psString labelName = NULL;                                                    // Name of label
    376     psStringAppend(&labelName, "%sRun.label", stage);
     376    if (strcmp(stage, "camera")) {
     377        psStringAppend(&labelName, "%sRun.label", stage);
     378    } else {
     379        psStringAppend(&labelName, "camRun.label");
     380    }
    377381    pxAddLabelSearchArgs (config, where, "-stage_label", labelName, "=="); // define stageRun label
    378382    psFree(labelName);
     
    392396        break;
    393397      case IPP_STAGE_CAMERA:
     398        query = pxDataGet("magicdstool_definecopy_camera.sql");
     399        break;
    394400      case IPP_STAGE_DIFF:
    395401      case IPP_STAGE_FAKE:
  • branches/eam_branches/ipp-20110906/ippTools/src/magicdstoolConfig.c

    r30854 r32630  
    7979    psMetadataAddStr(definecopyArgs, PS_LIST_TAIL, "-recoveryroot", 0, "define recovery directory", NULL);
    8080    psMetadataAddBool(definecopyArgs, PS_LIST_TAIL, "-noreplace", 0, "do not replace input files with the destreaked versions", false);
    81     psMetadataAddStr(definecopyArgs, PS_LIST_TAIL, "-set_label",    0, "define label", NULL);
     81    psMetadataAddStr(definecopyArgs, PS_LIST_TAIL, "-set_label",    0, "define label (required)", NULL);
    8282    psMetadataAddStr(definecopyArgs, PS_LIST_TAIL, "-set_data_group", 0, "define data_group", NULL);
    8383    psMetadataAddStr(definecopyArgs, PS_LIST_TAIL, "-set_note", 0, "define note", NULL);
  • branches/eam_branches/ipp-20110906/ippTools/src/magictool.c

    • Property svn:mergeinfo changed (with no actual effect on merging)
  • branches/eam_branches/ipp-20110906/ippTools/src/pxtools.c

    r30729 r32630  
    3535    if (!strcmp(state, "drop")) return true;
    3636    if (!strcmp(state, "wait")) return true;
     37    if (!strcmp(state, "keep")) return true;
    3738    if (!strcmp(state, "goto_cleaned")) return true;
    3839    if (!strcmp(state, "error_cleaned")) return true;
  • branches/eam_branches/ipp-20110906/ippTools/src/regtool.c

    r31938 r32630  
    268268      }
    269269    }
     270    char *is_stareim = strchr(psMetadataLookupStr(NULL,row,"exp_name"),'a');
     271    if (is_stareim) {
     272      continue;
     273    }
    270274   
    271275    if ((psMetadataLookupS32(NULL,row,"is_downloaded") != 1)||
     
    386390      }
    387391    }
     392    char *is_stareim = strchr(psMetadataLookupStr(NULL,row,"exp_name"),'a');
     393    if (is_stareim) {
     394      continue;
     395    }
     396
    388397
    389398    bool status = false;
     
    882891    PXOPT_LOOKUP_STR(set_md5sum, config->args, "-set_md5sum", false, false);
    883892    PXOPT_LOOKUP_STR(set_state, config->args, "-set_state", false, false);
     893    PXOPT_LOOKUP_BOOL(set_ignored, config->args, "-set_ignored", false);
     894    PXOPT_LOOKUP_BOOL(clear_ignored, config->args, "-clear_ignored", false);
    884895    PXOPT_LOOKUP_STR(hostname, config->args, "-hostname", false, false);
    885896   
    886     if ((fault == INT16_MAX) && (burntool_state == INT16_MAX) && !set_state) {
    887         psError(PS_ERR_UNKNOWN, false, "one of -fault or -burntool_state or -set_state must be selected");
     897    if ((fault == INT16_MAX) && (burntool_state == INT16_MAX) && !set_state && !set_ignored && !clear_ignored) {
     898        psError(PS_ERR_UNKNOWN, false, "at least one of -fault or -burntool_state -set_ignored -clear_ignored or -set_state must be selected");
    888899        return false;
    889900    }
    890901    if ((fault != INT16_MAX) && (burntool_state != INT16_MAX)) {
    891902        psError(PS_ERR_UNKNOWN, false, "only one of -fault or -burntool_state must be selected");
     903        return false;
     904    }
     905    if (set_ignored && clear_ignored) {
     906        psError(PS_ERR_UNKNOWN, true, "only one of -set_ignored or -clear_ignored may be selected");
    892907        return false;
    893908    }
     
    898913
    899914    if (fault != INT16_MAX) {
    900         // this is fairly dangerous : can set all if the where is not set...
     915        // this is fairly dangerous : can set all if the where is not set... but since exp_id and class_id
     916        // were required above this is safe
    901917        if (!pxSetFaultCode(config->dbh, "rawImfile", where, fault, 0)) {
    902918            psError(PS_ERR_UNKNOWN, false, "failed to set set fault flag");
     
    930946      }
    931947      psStringAppend(&setvalues,"rawImfile.data_state = '%s'",set_state);
     948    }
     949    if (set_ignored) {
     950      if (setvalues) {
     951        psStringAppend(&setvalues,",");
     952      }
     953      psStringAppend(&setvalues,"rawImfile.ignored = 1");
     954    }
     955    if (clear_ignored) {
     956      if (setvalues) {
     957        psStringAppend(&setvalues,",");
     958      }
     959      psStringAppend(&setvalues,"rawImfile.ignored = 0");
    932960    }
    933961    if (hostname) {
  • branches/eam_branches/ipp-20110906/ippTools/src/regtoolConfig.c

    r31938 r32630  
    194194    ADD_OPT(Str, updateprocessedimfileArgs, "-set_md5sum",     "set md5sum", NULL);
    195195    ADD_OPT(Str, updateprocessedimfileArgs, "-set_state",      "set data state", NULL);
     196    psMetadataAddBool(updateprocessedimfileArgs, PS_LIST_TAIL, "-set_ignored",  0,        "set imfile to be ignored for processing", false);
     197    psMetadataAddBool(updateprocessedimfileArgs, PS_LIST_TAIL, "-clear_ignored",  0,        "set imfile to not be ignored for processing", false);
    196198
    197199   
  • branches/eam_branches/ipp-20110906/ippTools/src/warptool.c

    r32272 r32630  
    984984
    985985        psString query = psStringCopy(originalQuery);
    986 
     986        psStringAppend(&query,"\nORDER BY warp_id");
    987987        // treat limit == 0 as "no limit"
    988988        psString limitString = psStringCopy("");
     
    993993            psStringAppend(&query, "%s", limitString);
    994994        }
     995
    995996        psString thisWhere = NULL;
    996997        if (whereStr) {
     
    20512052        // magicked is only an argument for for -tofullskyfile
    20522053        PXOPT_LOOKUP_S64(magicked, config->args, "-set_magicked", false, false);
     2054        PXOPT_LOOKUP_S16(quality, config->args, "-set_quality", false, false);
    20532055        if (magicked) {
    20542056            psStringAppend(&set_magicked_skyfile, "\n , warpSkyfile.magicked = %" PRId64, magicked);
    20552057            psStringAppend(&set_magicked_run, "\n,  warpRun.magicked = %" PRId64, magicked);
    20562058        }
     2059        if (quality) {
     2060          psStringAppend(&set_magicked_skyfile, "\n , warpSkyfile.quality = %"PRId16, quality);
     2061        }
    20572062    } else if (!strcmp(data_state, "cleaned") || !strcmp(data_state, "purged")) {
    20582063        // if magicked is currently nonzero set it to -1
     
    24332438    PXOPT_COPY_S64(config->args, where, "-exp_id",     "rawExp.exp_id", "==");
    24342439    PXOPT_COPY_STR(config->args, where, "-exp_name",   "rawExp.exp_name", "==");
     2440    PXOPT_COPY_S64(config->args, where, "-chip_id",    "chipRun.chip_id", "==");
     2441    PXOPT_COPY_S64(config->args, where, "-cam_id",     "camRun.cam_id", "==");
    24352442    PXOPT_COPY_S64(config->args, where, "-fake_id",    "fakeRun.fake_id", "==");
    24362443    PXOPT_COPY_TIME(config->args, where, "-dateobs_begin", "rawExp.dateobs",  ">=");
  • branches/eam_branches/ipp-20110906/ippTools/src/warptoolConfig.c

    r31955 r32630  
    269269    psMetadataAddStr(listrunArgs, PS_LIST_TAIL, "-tess_id",  0,          "search by tessellation ID", NULL);
    270270    psMetadataAddStr(listrunArgs, PS_LIST_TAIL, "-state",  0,            "search by state", NULL);
    271     psMetadataAddS64(listrunArgs, PS_LIST_TAIL, "-exp_id", 0,            "search by exposure tag", 0);
    272     psMetadataAddStr(listrunArgs, PS_LIST_TAIL, "-exp_name", 0,          "search by exposure tag", 0);
    273     psMetadataAddS64(listrunArgs, PS_LIST_TAIL, "-fake_id", 0,           "search by phase 3 version of exposure tag", 0);
     271    psMetadataAddS64(listrunArgs, PS_LIST_TAIL, "-exp_id", 0,            "search by exposure id", 0);
     272    psMetadataAddStr(listrunArgs, PS_LIST_TAIL, "-exp_name", 0,          "search by exposure tag", NULL);
     273    psMetadataAddS64(listrunArgs, PS_LIST_TAIL, "-chip_id", 0,           "search by chip id", 0);
     274    psMetadataAddS64(listrunArgs, PS_LIST_TAIL, "-cam_id",  0,           "search by cam id", 0);
     275    psMetadataAddS64(listrunArgs, PS_LIST_TAIL, "-fake_id", 0,           "search by phase 3 version of exposure tag (fake_id)", 0);
    274276    psMetadataAddTime(listrunArgs, PS_LIST_TAIL, "-dateobs_begin", 0,    "search for exposures by time (>=)", NULL);
    275277    psMetadataAddTime(listrunArgs, PS_LIST_TAIL, "-dateobs_end", 0,      "search for exposures by time (<=)", NULL);
     
    396398    psMetadataAddStr(tofullskyfileArgs, PS_LIST_TAIL, "-skycell_id", 0, "skycell ID to update", NULL);
    397399    psMetadataAddS64(tofullskyfileArgs, PS_LIST_TAIL, "-set_magicked",  0, "new value for magicked", 0);
    398 
     400    psMetadataAddS16(tofullskyfileArgs, PS_LIST_TAIL, "-set_quality", 0, "new value for quality", 0);
     401   
    399402    // -updateskyfile
    400403    psMetadata *updateskyfileArgs = psMetadataAlloc();
Note: See TracChangeset for help on using the changeset viewer.