Changeset 24883
- Timestamp:
- Jul 21, 2009, 2:42:19 PM (17 years ago)
- Location:
- trunk/ippTools
- Files:
-
- 5 added
- 9 edited
-
share/Makefile.am (modified) (1 diff)
-
share/magicdstool_torevert_camera.sql (modified) (1 diff)
-
share/magicdstool_torevert_chip.sql (modified) (1 diff)
-
share/magicdstool_torevert_diff.sql (modified) (1 diff)
-
share/magicdstool_torevert_raw.sql (modified) (1 diff)
-
share/magicdstool_torevert_warp.sql (modified) (1 diff)
-
share/magictool_censor_camera.sql (added)
-
share/magictool_censor_chip.sql (added)
-
share/magictool_censor_diff.sql (added)
-
share/magictool_censor_raw.sql (added)
-
share/magictool_censor_warp.sql (added)
-
src/magictool.c (modified) (3 diffs)
-
src/magictool.h (modified) (1 diff)
-
src/magictoolConfig.c (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ippTools/share/Makefile.am
r24882 r24883 137 137 flatcorr_dropcamera.sql \ 138 138 magictool_addmask.sql \ 139 magictool_censor_raw.sql \ 140 magictool_censor_chip.sql \ 141 magictool_censor_camera.sql \ 142 magictool_censor_warp.sql \ 143 magictool_censor_diff.sql \ 139 144 magictool_create_tmp_warpcomplete.sql \ 140 145 magictool_definebyquery_insert.sql \ -
trunk/ippTools/share/magicdstool_torevert_camera.sql
r24689 r24883 19 19 JOIN rawExp using(exp_id) 20 20 WHERE magicDSRun.stage = 'camera' 21 AND magicDSRun.state = 'new'21 AND (magicDSRun.state = 'new' OR magicDSRun.state = 'censored') 22 22 AND magicDSFile.fault > 0 -
trunk/ippTools/share/magicdstool_torevert_chip.sql
r24689 r24883 18 18 JOIN rawExp using(exp_id) 19 19 WHERE magicDSRun.stage = 'chip' 20 AND magicDSRun.state = 'new'20 AND (magicDSRun.state = 'new' OR magicDSRun.state = 'censored') 21 21 AND magicDSFile.fault > 0 -
trunk/ippTools/share/magicdstool_torevert_diff.sql
r24882 r24883 18 18 JOIN rawExp USING(exp_id) 19 19 WHERE magicDSRun.stage = 'diff' 20 AND magicDSRun.state = 'new'20 AND (magicDSRun.state = 'new' OR magicDSRun.state = 'censored') 21 21 AND magicDSFile.fault > 0 -
trunk/ippTools/share/magicdstool_torevert_raw.sql
r24689 r24883 18 18 AND rawImfile.tmp_class_id = summitImfile.class_id) 19 19 WHERE magicDSRun.stage = 'raw' 20 AND magicDSRun.state = 'new'20 AND (magicDSRun.state = 'new' OR magicDSRun.state = 'censored') 21 21 AND magicDSFile.fault > 0 -
trunk/ippTools/share/magicdstool_torevert_warp.sql
r24689 r24883 21 21 JOIN rawExp USING(exp_id) 22 22 WHERE magicDSRun.stage = 'warp' 23 AND magicDSRun.state = 'new'23 AND (magicDSRun.state = 'new' OR magicDSRun.state = 'censored') 24 24 AND magicDSFile.fault > 0 -
trunk/ippTools/src/magictool.c
r24551 r24883 47 47 static bool revertmaskMode(pxConfig *config); 48 48 static bool maskMode(pxConfig *config); 49 static bool censorrunMode(pxConfig *config); 49 50 50 51 static bool setmagicRunState(pxConfig *config, psS64 magic_id, const char *state); … … 85 86 MODECASE(MAGICTOOL_MODE_REVERTMASK, revertmaskMode); 86 87 MODECASE(MAGICTOOL_MODE_MASK, maskMode); 88 MODECASE(MAGICTOOL_MODE_CENSORRUN, censorrunMode); 87 89 default: 88 90 psAbort("invalid option (this should not happen)"); … … 1367 1369 return true; 1368 1370 } 1371 1372 static bool censorStage(pxConfig *config, psString stage, psString whereClause) 1373 { 1374 psString queryFile = NULL; 1375 psStringAppend(&queryFile, "magicdstool_censor_%s.sql", stage); 1376 psString query = pxDataGet(queryFile); 1377 if (!query) { 1378 psError(PXTOOLS_ERR_DATA, false, "failed to retreive SQL statement from %s", queryFile); 1379 psFree(queryFile); 1380 if (!psDBRollback(config->dbh)) { 1381 psError(PS_ERR_UNKNOWN, false, "database error"); 1382 } 1383 return false; 1384 } 1385 psFree(queryFile); 1386 1387 psStringAppend(&query, whereClause); 1388 1389 if (!p_psDBRunQuery(config->dbh, query)) { 1390 psError(PS_ERR_UNKNOWN, false, "database error"); 1391 psFree(query); 1392 if (!psDBRollback(config->dbh)) { 1393 psError(PS_ERR_UNKNOWN, false, "database error"); 1394 } 1395 return false; 1396 } 1397 psFree(query); 1398 1399 return true; 1400 } 1401 1402 static bool censorrunMode(pxConfig *config) 1403 { 1404 PS_ASSERT_PTR_NON_NULL(config, false); 1405 1406 psMetadata *where = psMetadataAlloc(); 1407 1408 // at least one of these required 1409 PXOPT_COPY_S64(config->args, where, "-magic_id", "magic_id", "=="); 1410 PXOPT_COPY_S64(config->args, where, "-exp_id", "exp_id", "=="); 1411 1412 if (!psListLength(where->list)) { 1413 psError(PS_ERR_UNKNOWN, true, "either -exp_id or -magic_id is required"); 1414 psFree(where); 1415 return false; 1416 } 1417 1418 psString query = psStringCopy("UPDATE magicRun SET state = 'censored'"); 1419 1420 psString whereClause = psDBGenerateWhereConditionSQL(where, "magicRun"); 1421 psFree(where); 1422 psStringAppend(&query, " WHERE %s", whereClause); 1423 1424 if (!psDBTransaction(config->dbh)) { 1425 psError(PS_ERR_UNKNOWN, false, "database error"); 1426 return false; 1427 } 1428 1429 if (!p_psDBRunQuery(config->dbh, query)) { 1430 psError(PS_ERR_UNKNOWN, false, "database error"); 1431 psFree(whereClause); 1432 psFree(query); 1433 return false; 1434 } 1435 psFree(query); 1436 1437 // Now queue any destreaked files to be re-verted 1438 1439 // note: on failure censorStage issues the rollback 1440 if (!censorStage(config, "raw", whereClause)) { 1441 psFree(whereClause); 1442 return false; 1443 } 1444 if (!censorStage(config, "chip", whereClause)) { 1445 psFree(whereClause); 1446 return false; 1447 } 1448 if (!censorStage(config, "camera", whereClause)) { 1449 psFree(whereClause); 1450 return false; 1451 } 1452 if (!censorStage(config, "warp", whereClause)) { 1453 psFree(whereClause); 1454 return false; 1455 } 1456 if (!censorStage(config, "diff", whereClause)) { 1457 psFree(whereClause); 1458 return false; 1459 } 1460 1461 psFree(whereClause); 1462 1463 if (!psDBCommit(config->dbh)) { 1464 psError(PS_ERR_UNKNOWN, false, "database error"); 1465 return false; 1466 } 1467 1468 return true; 1469 } -
trunk/ippTools/src/magictool.h
r20700 r24883 41 41 MAGICTOOL_MODE_REVERTMASK, 42 42 MAGICTOOL_MODE_MASK, 43 MAGICTOOL_MODE_DIFFSKYFILE, 44 MAGICTOOL_MODE_WARPSKYFILE, 45 MAGICTOOL_MODE_CHIPPROCESSEDIMFILE, 46 MAGICTOOL_MODE_RAWIMFILE, 43 MAGICTOOL_MODE_CENSORRUN, 47 44 } MAGICtoolMode; 48 45 -
trunk/ippTools/src/magictoolConfig.c
r24551 r24883 160 160 psMetadataAddBool(maskArgs, PS_LIST_TAIL, "-simple", 0, "use the simple output format", false); 161 161 162 #ifdef notdef 163 // -diffskyfile 164 psMetadata *diffskyfileArgs = psMetadataAlloc(); 165 psMetadataAddS64(diffskyfileArgs, PS_LIST_TAIL, "-magic_id", 0, "define magictool ID (required)", 0); 166 psMetadataAddStr(diffskyfileArgs, PS_LIST_TAIL, "-class_id", 0, "define class identifier", NULL); 167 psMetadataAddStr(diffskyfileArgs, PS_LIST_TAIL, "-skycell_id", 0, "define skycell identifier", NULL); 168 psMetadataAddBool(diffskyfileArgs, PS_LIST_TAIL, "-simple", 0, "use the simple output format", false); 169 170 // -warpskyfile 171 psMetadata *warpskyfileArgs = psMetadataAlloc(); 172 psMetadataAddS64(warpskyfileArgs, PS_LIST_TAIL, "-magic_id", 0, "define magictool ID (required)", 0); 173 psMetadataAddBool(warpskyfileArgs, PS_LIST_TAIL, "-simple", 0, "use the simple output format", false); 174 psMetadataAddStr(warpskyfileArgs, PS_LIST_TAIL, "-skycell_id", 0, "define skycell identifier", NULL); 175 176 // -chipprocessedimfile 177 psMetadata *chipprocessedimfileArgs = psMetadataAlloc(); 178 psMetadataAddS64(chipprocessedimfileArgs, PS_LIST_TAIL, "-magic_id", 0, "define magictool ID (required)", 0); 179 psMetadataAddStr(chipprocessedimfileArgs, PS_LIST_TAIL, "-class_id", 0, "define class identifier", NULL); 180 psMetadataAddBool(chipprocessedimfileArgs, PS_LIST_TAIL, "-simple", 0, "use the simple output format", false); 181 182 // -rawimfile 183 psMetadata *rawimfileArgs = psMetadataAlloc(); 184 psMetadataAddS64(rawimfileArgs, PS_LIST_TAIL, "-magic_id", 0, "define magictool ID (required)", 0); 185 psMetadataAddStr(rawimfileArgs, PS_LIST_TAIL, "-class_id", 0, "define class identifier", NULL); 186 psMetadataAddBool(rawimfileArgs, PS_LIST_TAIL, "-simple", 0, "use the simple output format", false); 187 #endif // notdef 162 // -censorun 163 psMetadata *censorrunArgs = psMetadataAlloc(); 164 psMetadataAddS64(censorrunArgs, PS_LIST_TAIL, "-magic_id", 0, "define magictool ID", 0); 165 psMetadataAddS64(censorrunArgs, PS_LIST_TAIL, "-exp_id", 0, "define exposure ID", 0); 188 166 189 167 psFree(now); … … 208 186 PXOPT_ADD_MODE("-revertmask", "", MAGICTOOL_MODE_REVERTMASK, revertmaskArgs); 209 187 PXOPT_ADD_MODE("-mask", "", MAGICTOOL_MODE_MASK, maskArgs); 210 #ifdef notdef 211 PXOPT_ADD_MODE("-diffskyfile", "", MAGICTOOL_MODE_DIFFSKYFILE, diffskyfileArgs); 212 PXOPT_ADD_MODE("-warpskyfile", "", MAGICTOOL_MODE_WARPSKYFILE, warpskyfileArgs); 213 PXOPT_ADD_MODE("-chipprocessedimfile", "", MAGICTOOL_MODE_CHIPPROCESSEDIMFILE, chipprocessedimfileArgs); 214 PXOPT_ADD_MODE("-rawimfile", "", MAGICTOOL_MODE_RAWIMFILE, rawimfileArgs); 215 #endif 188 PXOPT_ADD_MODE("-censorrun", "", MAGICTOOL_MODE_CENSORRUN, censorrunArgs); 216 189 217 190 if (!pxGetOptions(stderr, argc, argv, config, modes, argSets)) {
Note:
See TracChangeset
for help on using the changeset viewer.
