Changeset 11033
- Timestamp:
- Jan 11, 2007, 12:11:08 PM (19 years ago)
- Location:
- trunk/ippTools/src
- Files:
-
- 4 edited
-
chiptool.c (modified) (8 diffs)
-
chiptool.h (modified) (1 diff)
-
chiptoolConfig.c (modified) (4 diffs)
-
regtool.c (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ippTools/src/chiptool.c
r11024 r11033 33 33 static bool pendingimfileMode(pxConfig *config); 34 34 static bool addprocessedimfileMode(pxConfig *config); 35 static bool faultimfileMode(pxConfig *config); 35 static bool processedimfileMode(pxConfig *config); 36 static bool updateprocessedimfileMode(pxConfig *config); 36 37 static bool blockMode(pxConfig *config); 37 38 static bool maskedMode(pxConfig *config); 38 39 static bool unblockMode(pxConfig *config); 40 39 41 static p2ProcessedImfileRow *p2PendingToProcessedImfile(pxConfig *config, p2PendingImfileRow *imfile); 40 42 static p2ProcessedExpRow *p2PendingToProcessedExp(pxConfig *config, p2PendingExpRow *pendingExp); … … 59 61 MODECASE(P2TOOL_MODE_PENDINGIMFILE, pendingimfileMode); 60 62 MODECASE(P2TOOL_MODE_ADDPROCESSEDIMFILE, addprocessedimfileMode); 61 MODECASE(P2TOOL_MODE_FAULTIMFILE, faultimfileMode); 63 MODECASE(P2TOOL_MODE_PROCESSEDIMFILE, processedimfileMode); 64 MODECASE(P2TOOL_MODE_UPDATEPROCESSEDIMFILE, updateprocessedimfileMode); 62 65 MODECASE(P2TOOL_MODE_BLOCK, blockMode); 63 66 MODECASE(P2TOOL_MODE_MASKED, maskedMode); … … 183 186 } 184 187 185 bool faulted = psMetadataLookupU64(&status, config->args, "-faulted");186 if (!status) {187 psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -faulted");188 return false;189 }190 191 188 // XXX does this need to be constrained so that it won't return any results 192 189 // if a match p2PendingExp hasn't been registered? … … 212 209 } 213 210 214 if (faulted) {215 // list only faulted rows216 psStringAppend(&query, " %s", "AND p2PendingImfile.fault != 0");217 } else {218 // don't list faulted rows219 psStringAppend(&query, " %s", "AND p2PendingImfile.fault = 0");220 }221 222 211 // treat limit == 0 as "no limit" 223 212 if (limit) { … … 433 422 434 423 435 static bool faultimfileMode(pxConfig *config) 424 static bool processedimfileMode(pxConfig *config) 425 { 426 PS_ASSERT_PTR_NON_NULL(config, NULL); 427 428 bool status = false; 429 psU64 limit = psMetadataLookupU64(&status, config->args, "-limit"); 430 if (!status) { 431 psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -limit"); 432 return false; 433 } 434 435 bool faulted = psMetadataLookupU64(&status, config->args, "-faulted"); 436 if (!status) { 437 psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -faulted"); 438 return false; 439 } 440 441 // XXX does this need to be constrained so that it won't return any results 442 // if a match p2PendingExp hasn't been registered? 443 psString query = psStringCopy( 444 "SELECT" 445 " p2ProcessedImfile.*," 446 " rawScienceExp.camera" 447 " FROM p2ProcessedImfile" 448 " JOIN rawScienceExp" 449 " USING(exp_tag)" 450 " WHERE " 451 " p2ProcessedImfile.exp_tag is NOT NULL" // bogus test -- just here so there there is a 'WHERE' stmt to append conditionals too 452 ); 453 454 if (config->where) { 455 psString whereClause = psDBGenerateWhereConditionSQL(config->where, "p2ProcessedImfile"); 456 psStringAppend(&query, " AND %s", whereClause); 457 psFree(whereClause); 458 } 459 460 if (faulted) { 461 // list only faulted rows 462 psStringAppend(&query, " %s", "AND p2ProcessedImfile.fault != 0"); 463 } else { 464 // don't list faulted rows 465 psStringAppend(&query, " %s", "AND p2ProcessedImfile.fault = 0"); 466 } 467 468 // treat limit == 0 as "no limit" 469 if (limit) { 470 psString limitString = psDBGenerateLimitSQL(limit); 471 psStringAppend(&query, " %s", limitString); 472 psFree(limitString); 473 } 474 475 if (!p_psDBRunQuery(config->dbh, query)) { 476 psError(PS_ERR_UNKNOWN, false, "database error"); 477 psFree(query); 478 return false; 479 } 480 psFree(query); 481 482 psArray *output = p_psDBFetchResult(config->dbh); 483 if (!output) { 484 psError(PS_ERR_UNKNOWN, false, "database error"); 485 return false; 486 } 487 if (!psArrayLength(output)) { 488 // XXX check psError here 489 psError(PS_ERR_UNKNOWN, false, "no p2ProcessedImfile rows found"); 490 psFree(output); 491 return true; 492 } 493 494 bool simple = false; 495 { 496 bool status = false; 497 simple = psMetadataLookupBool(&status, config->args, "-simple"); 498 if (!status) { 499 psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -simple"); 500 return false; 501 } 502 } 503 504 // negative simple so the default is true 505 if (!ippdbPrintMetadatas(stdout, output, "p2ProcessedImfile", !simple)) { 506 psError(PS_ERR_UNKNOWN, false, "failed to print array"); 507 psFree(output); 508 return false; 509 } 510 511 psFree(output); 512 513 return true; 514 } 515 516 517 static bool updateprocessedimfileMode(pxConfig *config) 436 518 { 437 519 PS_ASSERT_PTR_NON_NULL(config, false); … … 444 526 } 445 527 446 if (!pxSetFaultCode(config->dbh, "p2P endingImfile", config->where, code)) {528 if (!pxSetFaultCode(config->dbh, "p2ProcessedImfile", config->where, code)) { 447 529 psError(PS_ERR_UNKNOWN, false, "failed to set set fault flag"); 448 530 return false; … … 733 815 } 734 816 817 // default values 818 psS8 code = psMetadataLookupS8(&status, config->args, "-code"); 819 if (!status) { 820 psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -code"); 821 return false; 822 } 823 735 824 return p2ProcessedImfileRowAlloc( 736 825 imfile->exp_tag, … … 744 833 b2_uri, 745 834 imfile->p1_version, 746 imfile->p2_version 835 imfile->p2_version, 836 code 747 837 ); 748 838 } -
trunk/ippTools/src/chiptool.h
r11002 r11033 29 29 P2TOOL_MODE_PENDINGIMFILE, 30 30 P2TOOL_MODE_ADDPROCESSEDIMFILE, 31 P2TOOL_MODE_FAULTIMFILE, 31 P2TOOL_MODE_PROCESSEDIMFILE, 32 P2TOOL_MODE_UPDATEPROCESSEDIMFILE, 32 33 P2TOOL_MODE_BLOCK, 33 34 P2TOOL_MODE_MASKED, -
trunk/ippTools/src/chiptoolConfig.c
r11002 r11033 47 47 // -pendingimfile 48 48 psMetadata *pendingimfileArgs = psMetadataAlloc(); 49 psMetadataAddStr(pendingimfileArgs, PS_LIST_TAIL, "-inst", 0,50 "define camera of interest", NULL);51 psMetadataAddStr(pendingimfileArgs, PS_LIST_TAIL, "-filter", 0,52 "define filter of interest", NULL);53 49 psMetadataAddStr(pendingimfileArgs, PS_LIST_TAIL, "-exp_tag", 0, 54 50 "define exposure ID", NULL); … … 57 53 psMetadataAddStr(pendingimfileArgs, PS_LIST_TAIL, "-class_id", 0, 58 54 "define class ID", NULL); 55 psMetadataAddStr(pendingimfileArgs, PS_LIST_TAIL, "-inst", 0, 56 "define camera of interest", NULL); 57 psMetadataAddStr(pendingimfileArgs, PS_LIST_TAIL, "-filter", 0, 58 "define filter of interest", NULL); 59 59 psMetadataAddStr(pendingimfileArgs, PS_LIST_TAIL, "-uri", 0, 60 60 "define URL", NULL); 61 61 psMetadataAddU64(pendingimfileArgs, PS_LIST_TAIL, "-limit", 0, 62 "limit result set to N items", 0); 63 psMetadataAddBool(pendingimfileArgs, PS_LIST_TAIL, "-faulted", 0, 64 "only return imfiles with a fault status set", false); 62 "limit result set to N items", 0); 65 63 psMetadataAddBool(pendingimfileArgs, PS_LIST_TAIL, "-simple", 0, 66 64 "use the simple output format", false); … … 86 84 psMetadataAddStr(addprocessedimfileArgs, PS_LIST_TAIL, "-b2_uri", 0, 87 85 "define banana 2", NULL); 88 89 // -faultimfile 90 psMetadata *faultimfileArgs = psMetadataAlloc(); 91 psMetadataAddStr(faultimfileArgs, PS_LIST_TAIL, "-exp_tag", 0, 92 "search by exposure ID", NULL); 93 psMetadataAddStr(faultimfileArgs, PS_LIST_TAIL, "-class", 0, 94 "search by class", NULL); 95 psMetadataAddStr(faultimfileArgs, PS_LIST_TAIL, "-class_id", 0, 96 "search by class ID", NULL); 97 psMetadataAddS8(faultimfileArgs, PS_LIST_TAIL, "-code", 0, 98 "set fault code (required)", 0); 86 psMetadataAddS8(addprocessedimfileArgs, PS_LIST_TAIL, "-code", 0, 87 "set fault code (required)", 0); 88 89 // -processedimfile 90 psMetadata *processedimfileArgs = psMetadataAlloc(); 91 psMetadataAddStr(processedimfileArgs, PS_LIST_TAIL, "-exp_tag", 0, 92 "define exposure ID", NULL); 93 psMetadataAddStr(processedimfileArgs, PS_LIST_TAIL, "-class", 0, 94 "define class", NULL); 95 psMetadataAddStr(processedimfileArgs, PS_LIST_TAIL, "-class_id", 0, 96 "define class ID", NULL); 97 psMetadataAddStr(processedimfileArgs, PS_LIST_TAIL, "-inst", 0, 98 "define camera of interest", NULL); 99 psMetadataAddStr(processedimfileArgs, PS_LIST_TAIL, "-filter", 0, 100 "define filter of interest", NULL); 101 psMetadataAddStr(processedimfileArgs, PS_LIST_TAIL, "-uri", 0, 102 "define URL", NULL); 103 psMetadataAddU64(processedimfileArgs, PS_LIST_TAIL, "-limit", 0, 104 "limit result set to N items", 0); 105 psMetadataAddBool(processedimfileArgs, PS_LIST_TAIL, "-faulted", 0, 106 "only return imfiles with a fault status set", false); 107 psMetadataAddBool(processedimfileArgs, PS_LIST_TAIL, "-simple", 0, 108 "use the simple output format", false); 109 110 // -updateprocessedimfile 111 psMetadata *updateprocessedimfileArgs = psMetadataAlloc(); 112 psMetadataAddStr(updateprocessedimfileArgs, PS_LIST_TAIL, "-exp_tag", 0, 113 "search by exposure ID", NULL); 114 psMetadataAddStr(updateprocessedimfileArgs, PS_LIST_TAIL, "-class", 0, 115 "search by class", NULL); 116 psMetadataAddStr(updateprocessedimfileArgs, PS_LIST_TAIL, "-class_id", 0, 117 "search by class ID", NULL); 118 psMetadataAddS8(updateprocessedimfileArgs, PS_LIST_TAIL, "-code", 0, 119 "set fault code (required)", 0); 99 120 100 121 … … 133 154 134 155 psMetadata *argSets = psMetadataAlloc(); 135 PXTOOL_MODE("-quick", P2TOOL_MODE_QUICK,quickArgs);136 PXTOOL_MODE("-define", P2TOOL_MODE_DEFINE,defineArgs);137 PXTOOL_MODE("-pendingimfile", P2TOOL_MODE_PENDINGIMFILE,pendingimfileArgs);156 PXTOOL_MODE("-quick", P2TOOL_MODE_QUICK, quickArgs); 157 PXTOOL_MODE("-define", P2TOOL_MODE_DEFINE, defineArgs); 158 PXTOOL_MODE("-pendingimfile", P2TOOL_MODE_PENDINGIMFILE, pendingimfileArgs); 138 159 PXTOOL_MODE("-addprocessedimfile",P2TOOL_MODE_ADDPROCESSEDIMFILE,addprocessedimfileArgs); 139 PXTOOL_MODE("-faultimfile", P2TOOL_MODE_FAULTIMFILE, faultimfileArgs); 140 PXTOOL_MODE("-block", P2TOOL_MODE_BLOCK, blockArgs); 141 PXTOOL_MODE("-masked", P2TOOL_MODE_MASKED, maskedArgs); 142 PXTOOL_MODE("-unblock", P2TOOL_MODE_UNBLOCK, unblockArgs); 160 PXTOOL_MODE("-processedimfile",P2TOOL_MODE_PROCESSEDIMFILE, processedimfileArgs); 161 PXTOOL_MODE("-updateprocessedimfile",P2TOOL_MODE_UPDATEPROCESSEDIMFILE, updateprocessedimfileArgs); 162 PXTOOL_MODE("-block", P2TOOL_MODE_BLOCK, blockArgs); 163 PXTOOL_MODE("-masked", P2TOOL_MODE_MASKED, maskedArgs); 164 PXTOOL_MODE("-unblock", P2TOOL_MODE_UNBLOCK, unblockArgs); 143 165 144 166 bool argErr = false; -
trunk/ippTools/src/regtool.c
r11002 r11033 800 800 0xff, // XXX calc version number 801 801 0xff, // XXX calc version number 802 label, 803 0 // fault code 802 label 804 803 ); 805 804 … … 815 814 "my recipe", 816 815 0xff, // XXX calc version number 817 0xff, // XXX calc version number 818 0 // fault code 816 0xff // XXX calc version number 819 817 ); 820 818 }
Note:
See TracChangeset
for help on using the changeset viewer.
