Changeset 24551 for trunk/ippTools/src
- Timestamp:
- Jun 25, 2009, 1:47:46 PM (17 years ago)
- Location:
- trunk/ippTools/src
- Files:
-
- 2 edited
-
magictool.c (modified) (3 diffs)
-
magictoolConfig.c (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ippTools/src/magictool.c
r24214 r24551 47 47 static bool revertmaskMode(pxConfig *config); 48 48 static bool maskMode(pxConfig *config); 49 static bool diffskyfileMode(pxConfig *config);50 static bool warpskyfileMode(pxConfig *config);51 static bool chipprocessedimfileMode(pxConfig *config);52 static bool rawimfileMode(pxConfig *config);53 54 49 55 50 static bool setmagicRunState(pxConfig *config, psS64 magic_id, const char *state); … … 90 85 MODECASE(MAGICTOOL_MODE_REVERTMASK, revertmaskMode); 91 86 MODECASE(MAGICTOOL_MODE_MASK, maskMode); 92 MODECASE(MAGICTOOL_MODE_DIFFSKYFILE, diffskyfileMode);93 MODECASE(MAGICTOOL_MODE_WARPSKYFILE, warpskyfileMode);94 MODECASE(MAGICTOOL_MODE_CHIPPROCESSEDIMFILE, chipprocessedimfileMode);95 MODECASE(MAGICTOOL_MODE_RAWIMFILE, rawimfileMode);96 87 default: 97 88 psAbort("invalid option (this should not happen)"); … … 1306 1297 } 1307 1298 1308 1309 static bool diffskyfileMode(pxConfig *config)1310 {1311 PS_ASSERT_PTR_NON_NULL(config, false);1312 1313 psMetadata *where = psMetadataAlloc();1314 PXOPT_COPY_S64(config->args, where, "-magic_id", "magicRun.magic_id", "==");1315 PXOPT_COPY_STR(config->args, where, "-class_id", "warpSkyCellMap.class_id", "==");1316 PXOPT_COPY_STR(config->args, where, "-skycell_id", "warpSkyCellMap.skycell_id", "==");1317 1318 PXOPT_LOOKUP_BOOL(simple, config->args, "-simple", false);1319 1320 psString query = pxDataGet("magictool_diffskyfile.sql");1321 if (!query) {1322 psError(PXTOOLS_ERR_DATA, false, "failed to retreive SQL statement");1323 return false;1324 }1325 1326 if (psListLength(where->list)) {1327 psString whereClause = psDBGenerateWhereConditionSQL(where, NULL);1328 psStringAppend(&query, " AND %s", whereClause);1329 psFree(whereClause);1330 }1331 psFree(where);1332 1333 if (!p_psDBRunQuery(config->dbh, query)) {1334 psError(PS_ERR_UNKNOWN, false, "database error");1335 psFree(query);1336 return false;1337 }1338 psFree(query);1339 1340 psArray *output = p_psDBFetchResult(config->dbh);1341 if (!output) {1342 psErrorCode err = psErrorCodeLast();1343 switch (err) {1344 case PS_ERR_DB_CLIENT:1345 psError(PXTOOLS_ERR_SYS, false, "database error");1346 case PS_ERR_DB_SERVER:1347 psError(PXTOOLS_ERR_PROG, false, "database error");1348 default:1349 psError(PXTOOLS_ERR_PROG, false, "unknown error");1350 }1351 1352 return false;1353 }1354 if (!psArrayLength(output)) {1355 psTrace("magictool", PS_LOG_INFO, "no rows found");1356 psFree(output);1357 return true;1358 }1359 1360 if (psArrayLength(output)) {1361 // negative simple so the default is true1362 if (!ippdbPrintMetadatas(stdout, output, "magicDiffSkyfile", !simple)) {1363 psError(PS_ERR_UNKNOWN, false, "failed to print array");1364 psFree(output);1365 return false;1366 }1367 }1368 1369 psFree(output);1370 1371 return true;1372 }1373 1374 1375 static bool warpskyfileMode(pxConfig *config)1376 {1377 PS_ASSERT_PTR_NON_NULL(config, false);1378 1379 psMetadata *where = psMetadataAlloc();1380 PXOPT_COPY_S64(config->args, where, "-magic_id", "magicRun.magic_id", "==");1381 PXOPT_COPY_STR(config->args, where, "-skycell_id", "warpSkyfile.skycell_id", "==");1382 1383 PXOPT_LOOKUP_BOOL(simple, config->args, "-simple", false);1384 1385 psString query = pxDataGet("magictool_warpskyfile.sql");1386 if (!query) {1387 psError(PXTOOLS_ERR_DATA, false, "failed to retreive SQL statement");1388 return false;1389 }1390 1391 if (psListLength(where->list)) {1392 psString whereClause = psDBGenerateWhereConditionSQL(where, NULL);1393 psStringAppend(&query, " AND %s", whereClause);1394 psFree(whereClause);1395 }1396 psFree(where);1397 1398 if (!p_psDBRunQuery(config->dbh, query)) {1399 psError(PS_ERR_UNKNOWN, false, "database error");1400 psFree(query);1401 return false;1402 }1403 psFree(query);1404 1405 psArray *output = p_psDBFetchResult(config->dbh);1406 if (!output) {1407 psErrorCode err = psErrorCodeLast();1408 switch (err) {1409 case PS_ERR_DB_CLIENT:1410 psError(PXTOOLS_ERR_SYS, false, "database error");1411 case PS_ERR_DB_SERVER:1412 psError(PXTOOLS_ERR_PROG, false, "database error");1413 default:1414 psError(PXTOOLS_ERR_PROG, false, "unknown error");1415 }1416 1417 return false;1418 }1419 if (!psArrayLength(output)) {1420 psTrace("magictool", PS_LOG_INFO, "no rows found");1421 psFree(output);1422 return true;1423 }1424 1425 if (psArrayLength(output)) {1426 // negative simple so the default is true1427 if (!ippdbPrintMetadatas(stdout, output, "magicWarpSkyfile", !simple)) {1428 psError(PS_ERR_UNKNOWN, false, "failed to print array");1429 psFree(output);1430 return false;1431 }1432 }1433 1434 psFree(output);1435 1436 return true;1437 }1438 1439 1440 static bool chipprocessedimfileMode(pxConfig *config)1441 {1442 PS_ASSERT_PTR_NON_NULL(config, false);1443 1444 psMetadata *where = psMetadataAlloc();1445 PXOPT_COPY_S64(config->args, where, "-magic_id", "magicRun.magic_id", "==");1446 PXOPT_COPY_STR(config->args, where, "-class_id", "warpSkyCellMap.class_id", "==");1447 1448 PXOPT_LOOKUP_BOOL(simple, config->args, "-simple", false);1449 1450 psString query = pxDataGet("magictool_chipprocessedimfile.sql");1451 if (!query) {1452 psError(PXTOOLS_ERR_DATA, false, "failed to retreive SQL statement");1453 return false;1454 }1455 1456 if (psListLength(where->list)) {1457 psString whereClause = psDBGenerateWhereConditionSQL(where, NULL);1458 psStringAppend(&query, " AND %s", whereClause);1459 psFree(whereClause);1460 }1461 psFree(where);1462 1463 if (!p_psDBRunQuery(config->dbh, query)) {1464 psError(PS_ERR_UNKNOWN, false, "database error");1465 psFree(query);1466 return false;1467 }1468 psFree(query);1469 1470 psArray *output = p_psDBFetchResult(config->dbh);1471 if (!output) {1472 psErrorCode err = psErrorCodeLast();1473 switch (err) {1474 case PS_ERR_DB_CLIENT:1475 psError(PXTOOLS_ERR_SYS, false, "database error");1476 case PS_ERR_DB_SERVER:1477 psError(PXTOOLS_ERR_PROG, false, "database error");1478 default:1479 psError(PXTOOLS_ERR_PROG, false, "unknown error");1480 }1481 1482 return false;1483 }1484 if (!psArrayLength(output)) {1485 psTrace("magictool", PS_LOG_INFO, "no rows found");1486 psFree(output);1487 return true;1488 }1489 1490 if (psArrayLength(output)) {1491 // negative simple so the default is true1492 if (!ippdbPrintMetadatas(stdout, output, "magicChipProcessedImfile", !simple)) {1493 psError(PS_ERR_UNKNOWN, false, "failed to print array");1494 psFree(output);1495 return false;1496 }1497 }1498 1499 psFree(output);1500 1501 return true;1502 }1503 1504 1505 static bool rawimfileMode(pxConfig *config)1506 {1507 PS_ASSERT_PTR_NON_NULL(config, false);1508 1509 psMetadata *where = psMetadataAlloc();1510 PXOPT_COPY_S64(config->args, where, "-magic_id", "magicRun.magic_id", "==");1511 PXOPT_COPY_STR(config->args, where, "-class_id", "warpSkyCellMap.class_id", "==");1512 1513 PXOPT_LOOKUP_BOOL(simple, config->args, "-simple", false);1514 1515 psString query = pxDataGet("magictool_rawimfile.sql");1516 if (!query) {1517 psError(PXTOOLS_ERR_DATA, false, "failed to retreive SQL statement");1518 return false;1519 }1520 1521 if (psListLength(where->list)) {1522 psString whereClause = psDBGenerateWhereConditionSQL(where, NULL);1523 psStringAppend(&query, " AND %s", whereClause);1524 psFree(whereClause);1525 }1526 psFree(where);1527 1528 if (!p_psDBRunQuery(config->dbh, query)) {1529 psError(PS_ERR_UNKNOWN, false, "database error");1530 psFree(query);1531 return false;1532 }1533 psFree(query);1534 1535 psArray *output = p_psDBFetchResult(config->dbh);1536 if (!output) {1537 psErrorCode err = psErrorCodeLast();1538 switch (err) {1539 case PS_ERR_DB_CLIENT:1540 psError(PXTOOLS_ERR_SYS, false, "database error");1541 case PS_ERR_DB_SERVER:1542 psError(PXTOOLS_ERR_PROG, false, "database error");1543 default:1544 psError(PXTOOLS_ERR_PROG, false, "unknown error");1545 }1546 1547 return false;1548 }1549 if (!psArrayLength(output)) {1550 psTrace("magictool", PS_LOG_INFO, "no rows found");1551 psFree(output);1552 return true;1553 }1554 1555 if (psArrayLength(output)) {1556 // negative simple so the default is true1557 if (!ippdbPrintMetadatas(stdout, output, "magicRawImfile", !simple)) {1558 psError(PS_ERR_UNKNOWN, false, "failed to print array");1559 psFree(output);1560 return false;1561 }1562 }1563 1564 psFree(output);1565 1566 return true;1567 }1568 1569 1570 1299 static bool setmagicRunState(pxConfig *config, psS64 magic_id, const char *state) 1571 1300 { -
trunk/ippTools/src/magictoolConfig.c
r24174 r24551 160 160 psMetadataAddBool(maskArgs, PS_LIST_TAIL, "-simple", 0, "use the simple output format", false); 161 161 162 #ifdef notdef 162 163 // -diffskyfile 163 164 psMetadata *diffskyfileArgs = psMetadataAlloc(); … … 184 185 psMetadataAddStr(rawimfileArgs, PS_LIST_TAIL, "-class_id", 0, "define class identifier", NULL); 185 186 psMetadataAddBool(rawimfileArgs, PS_LIST_TAIL, "-simple", 0, "use the simple output format", false); 187 #endif // notdef 186 188 187 189 psFree(now); … … 206 208 PXOPT_ADD_MODE("-revertmask", "", MAGICTOOL_MODE_REVERTMASK, revertmaskArgs); 207 209 PXOPT_ADD_MODE("-mask", "", MAGICTOOL_MODE_MASK, maskArgs); 210 #ifdef notdef 208 211 PXOPT_ADD_MODE("-diffskyfile", "", MAGICTOOL_MODE_DIFFSKYFILE, diffskyfileArgs); 209 212 PXOPT_ADD_MODE("-warpskyfile", "", MAGICTOOL_MODE_WARPSKYFILE, warpskyfileArgs); 210 213 PXOPT_ADD_MODE("-chipprocessedimfile", "", MAGICTOOL_MODE_CHIPPROCESSEDIMFILE, chipprocessedimfileArgs); 211 214 PXOPT_ADD_MODE("-rawimfile", "", MAGICTOOL_MODE_RAWIMFILE, rawimfileArgs); 215 #endif 212 216 213 217 if (!pxGetOptions(stderr, argc, argv, config, modes, argSets)) {
Note:
See TracChangeset
for help on using the changeset viewer.
