Changeset 16613
- Timestamp:
- Feb 22, 2008, 10:23:58 AM (18 years ago)
- Location:
- trunk/ippTools
- Files:
-
- 2 added
- 6 edited
-
share/Makefile.am (modified) (2 diffs)
-
share/chiptool_unmasked.sql (added)
-
share/dettool_runs.sql (added)
-
src/chiptool.c (modified) (5 diffs)
-
src/chiptool.h (modified) (1 diff)
-
src/chiptoolConfig.c (modified) (2 diffs)
-
src/dettool.c (modified) (2 diffs)
-
src/dettoolConfig.c (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ippTools/share/Makefile.am
r16364 r16613 12 12 chiptool_processedimfile.sql \ 13 13 chiptool_revertprocessedimfile.sql \ 14 chiptool_unmasked.sql \ 14 15 detselect_search.sql \ 15 16 detselect_select.sql \ … … 20 21 dettool_normalizedstat.sql \ 21 22 dettool_raw.sql \ 23 dettool_runs.sql \ 22 24 dettool_revertdetrunsummary.sql \ 23 25 dettool_revertnormalizedexp.sql \ -
trunk/ippTools/src/chiptool.c
r16556 r16613 42 42 static bool blockMode(pxConfig *config); 43 43 static bool maskedMode(pxConfig *config); 44 static bool unmaskedMode(pxConfig *config); 44 45 static bool unblockMode(pxConfig *config); 45 46 … … 71 72 MODECASE(CHIPTOOL_MODE_BLOCK, blockMode); 72 73 MODECASE(CHIPTOOL_MODE_MASKED, maskedMode); 74 MODECASE(CHIPTOOL_MODE_UNMASKED, unmaskedMode); 73 75 MODECASE(CHIPTOOL_MODE_UNBLOCK, unblockMode); 74 76 default: … … 504 506 505 507 if (psDBAffectedRows(config->dbh) < 1) { 506 psError(PS_ERR_UNKNOWN, false, "should have affected at least 1 row");508 psError(PS_ERR_UNKNOWN, false, "should have affected at least 1 row"); 507 509 return false; 508 510 } … … 545 547 PS_ASSERT_PTR_NON_NULL(config, false); 546 548 549 PXOPT_LOOKUP_U64(limit, config->args, "-limit", false, false); 550 551 psMetadata *where = psMetadataAlloc(); 552 553 PXOPT_COPY_STR(config->args, where, "-label", "label", "=="); 554 555 if (where->list->n < 1) { 556 psFree(where); 557 where = NULL; 558 } 559 547 560 PXOPT_LOOKUP_BOOL(simple, config->args, "-simple", false); 548 561 549 562 psString query = psStringCopy("SELECT * FROM chipMask"); 563 564 if (where) { 565 psString whereClause = psDBGenerateWhereSQL(where, NULL); 566 psFree(where); 567 psStringAppend(&query, " %s", whereClause); 568 psFree(whereClause); 569 } 570 571 // treat limit == 0 as "no limit" 572 if (limit) { 573 psString limitString = psDBGenerateLimitSQL(limit); 574 psStringAppend(&query, " %s", limitString); 575 psFree(limitString); 576 } 550 577 551 578 if (!p_psDBRunQuery(config->dbh, query)) { … … 575 602 // negative simple so the default is true 576 603 if (!ippdbPrintMetadatas(stdout, output, "chipMask", !simple)) { 604 psError(PS_ERR_UNKNOWN, false, "failed to print array"); 605 psFree(output); 606 return false; 607 } 608 609 psFree(output); 610 611 return true; 612 } 613 614 // return the list of labels which are NOT blocked 615 static bool unmaskedMode(pxConfig *config) 616 { 617 PS_ASSERT_PTR_NON_NULL(config, false); 618 619 PXOPT_LOOKUP_BOOL(simple, config->args, "-simple", false); 620 PXOPT_LOOKUP_U64(limit, config->args, "-limit", false, false); 621 622 psMetadata *where = psMetadataAlloc(); 623 624 PXOPT_COPY_STR(config->args, where, "-label", "label", "=="); 625 626 if (where->list->n < 1) { 627 psFree(where); 628 where = NULL; 629 } 630 631 psString query = pxDataGet("chiptool_unmasked.sql"); 632 if (!query) { 633 psError(PXTOOLS_ERR_DATA, false, "failed to retreive SQL statement"); 634 return false; 635 } 636 637 if (where) { 638 psString whereClause = psDBGenerateWhereSQL(where, "chipUnmask"); 639 psFree(where); 640 psStringAppend(&query, " %s", whereClause); 641 psFree(whereClause); 642 } 643 644 // treat limit == 0 as "no limit" 645 if (limit) { 646 psString limitString = psDBGenerateLimitSQL(limit); 647 psStringAppend(&query, " %s", limitString); 648 psFree(limitString); 649 } 650 651 if (!p_psDBRunQuery(config->dbh, query)) { 652 psError(PS_ERR_UNKNOWN, false, "database error"); 653 psFree(query); 654 return false; 655 } 656 psFree(query); 657 658 psArray *output = p_psDBFetchResult(config->dbh); 659 if (!output) { 660 psError(PS_ERR_UNKNOWN, false, "database error"); 661 return false; 662 } 663 if (!psArrayLength(output)) { 664 psTrace("chiptool", PS_LOG_INFO, "no rows found"); 665 psFree(output); 666 return true; 667 } 668 669 if (!convertIdToStr(output)) { 670 psError(PS_ERR_UNKNOWN, false, "failed to convert id fields into a strings"); 671 psFree(output); 672 return false; 673 } 674 675 // negative simple so the default is true 676 if (!ippdbPrintMetadatas(stdout, output, "chipUnmask", !simple)) { 577 677 psError(PS_ERR_UNKNOWN, false, "failed to print array"); 578 678 psFree(output); -
trunk/ippTools/src/chiptool.h
r14099 r16613 33 33 CHIPTOOL_MODE_BLOCK, 34 34 CHIPTOOL_MODE_MASKED, 35 CHIPTOOL_MODE_UNMASKED, 35 36 CHIPTOOL_MODE_UNBLOCK, 36 37 CHIPTOOL_MODE_RETRYPROCESSEDIMFILE -
trunk/ippTools/src/chiptoolConfig.c
r16557 r16613 272 272 // -masked 273 273 psMetadata *maskedArgs = psMetadataAlloc(); 274 psMetadataAddStr(maskedArgs, PS_LIST_TAIL, "-label", 0, 275 "list blocks for specified label", NULL); 274 276 psMetadataAddBool(maskedArgs, PS_LIST_TAIL, "-simple", 0, 275 277 "use the simple output format", false); 278 psMetadataAddU64(maskedArgs, PS_LIST_TAIL, "-limit", 0, 279 "limit result set to N items", 0); 280 281 // -unmasked 282 psMetadata *unmaskedArgs = psMetadataAlloc(); 283 psMetadataAddStr(unmaskedArgs, PS_LIST_TAIL, "-label", 0, 284 "restrict to specified label", NULL); 285 psMetadataAddBool(unmaskedArgs, PS_LIST_TAIL, "-simple", 0, 286 "use the simple output format", false); 287 psMetadataAddU64(unmaskedArgs, PS_LIST_TAIL, "-limit", 0, 288 "limit result set to N items", 0); 276 289 277 290 // -unblock … … 283 296 psMetadata *modes = psMetadataAlloc(); 284 297 285 PXOPT_ADD_MODE("-queue", "", CHIPTOOL_MODE_QUEUE, queueArgs);286 PXOPT_ADD_MODE("-pendingimfile", "", CHIPTOOL_MODE_PENDINGIMFILE, pendingimfileArgs);287 PXOPT_ADD_MODE("-addprocessedimfile", "", CHIPTOOL_MODE_ADDPROCESSEDIMFILE,addprocessedimfileArgs);288 PXOPT_ADD_MODE("-processedimfile", "", CHIPTOOL_MODE_PROCESSEDIMFILE, processedimfileArgs);298 PXOPT_ADD_MODE("-queue", "", CHIPTOOL_MODE_QUEUE, queueArgs); 299 PXOPT_ADD_MODE("-pendingimfile", "", CHIPTOOL_MODE_PENDINGIMFILE, pendingimfileArgs); 300 PXOPT_ADD_MODE("-addprocessedimfile", "", CHIPTOOL_MODE_ADDPROCESSEDIMFILE,addprocessedimfileArgs); 301 PXOPT_ADD_MODE("-processedimfile", "", CHIPTOOL_MODE_PROCESSEDIMFILE, processedimfileArgs); 289 302 PXOPT_ADD_MODE("-updateprocessedimfile", "", CHIPTOOL_MODE_UPDATEPROCESSEDIMFILE, updateprocessedimfileArgs); 290 303 PXOPT_ADD_MODE("-revertprocessedimfile", "", CHIPTOOL_MODE_REVERTPROCESSEDIMFILE, revertprocessedimfileArgs); 291 PXOPT_ADD_MODE("-block", "", CHIPTOOL_MODE_BLOCK, blockArgs); 292 PXOPT_ADD_MODE("-masked", "", CHIPTOOL_MODE_MASKED, maskedArgs); 293 PXOPT_ADD_MODE("-unblock", "", CHIPTOOL_MODE_UNBLOCK, unblockArgs); 304 PXOPT_ADD_MODE("-block", "", CHIPTOOL_MODE_BLOCK, blockArgs); 305 PXOPT_ADD_MODE("-masked", "", CHIPTOOL_MODE_MASKED, maskedArgs); 306 PXOPT_ADD_MODE("-unmasked", "", CHIPTOOL_MODE_UNMASKED, unmaskedArgs); 307 PXOPT_ADD_MODE("-unblock", "", CHIPTOOL_MODE_UNBLOCK, unblockArgs); 294 308 295 309 if (!pxGetOptions(stderr, argc, argv, config, modes, argSets)) { -
trunk/ippTools/src/dettool.c
r16504 r16613 1011 1011 1012 1012 PXOPT_LOOKUP_BOOL(simple, config->args, "-simple", false); 1013 1013 PXOPT_LOOKUP_BOOL(active, config->args, "-active", false); 1014 PXOPT_LOOKUP_U64(limit, config->args, "-limit", false, false); 1015 1016 PXOPT_COPY_STR(config->args, config->where, "-inst", "camera", "=="); 1017 PXOPT_COPY_STR(config->args, config->where, "-telescope", "telescope", "=="); 1018 PXOPT_COPY_STR(config->args, config->where, "-filter", "filter", "=="); 1019 1020 // airmass_min < airmass < airmass_max 1021 PXOPT_COPY_F32(config->args, config->where, "-airmass", "airmass_min", "<="); 1022 PXOPT_COPY_F32(config->args, config->where, "-airmass", "airmass_max", ">="); 1023 1024 // exp_time_min < exp_time < exp_time_max 1025 PXOPT_COPY_F32(config->args, config->where, "-exp_time", "exp_time_min", "<="); 1026 PXOPT_COPY_F32(config->args, config->where, "-exp_time", "exp_time_max", ">="); 1027 1028 // ccd_temp_min < ccd_temp < ccd_temp_max 1029 PXOPT_COPY_F32(config->args, config->where, "-ccd_temp", "ccd_temp_min", "<="); 1030 PXOPT_COPY_F32(config->args, config->where, "-ccd_temp", "ccd_temp_max", ">="); 1031 1032 PXOPT_COPY_F64(config->args, config->where, "-posang", "posang_min", "<="); 1033 PXOPT_COPY_F64(config->args, config->where, "-posang", "posang_max", ">="); 1034 1035 psString query = pxDataGet("dettool_runs.sql"); 1036 if (!query) { 1037 psError(PXTOOLS_ERR_DATA, false, "failed to retreive SQL statement"); 1038 return false; 1039 } 1040 1041 if (config->where && active) { 1042 psString whereClause = psDBGenerateWhereSQL(config->where, "detRun"); 1043 psStringAppend(&query, " %s AND (detRun.state = 'run' OR detRun.state = 'stop' OR detRun.state = 'register')", whereClause); 1044 psFree(whereClause); 1045 } 1046 if (config->where && !active) { 1047 psString whereClause = psDBGenerateWhereSQL(config->where, "detRun"); 1048 psStringAppend(&query, " %s", whereClause); 1049 psFree(whereClause); 1050 } 1051 if (!config->where && active) { 1052 psStringAppend(&query, " WHERE (detRun.state = 'run' OR detRun.state = 'stop' OR detRun.state = 'register')"); 1053 } 1054 1055 // treat limit == 0 as "no limit" 1056 if (limit) { 1057 psString limitString = psDBGenerateLimitSQL(limit); 1058 psStringAppend(&query, " %s", limitString); 1059 psFree(limitString); 1060 } 1061 1062 if (!p_psDBRunQuery(config->dbh, query)) { 1063 psError(PS_ERR_UNKNOWN, false, "database error"); 1064 psFree(query); 1065 return false; 1066 } 1067 psFree(query); 1068 1069 psArray *runs = p_psDBFetchResult(config->dbh); 1070 if (!runs) { 1071 psError(PS_ERR_UNKNOWN, false, "database error"); 1072 return false; 1073 } 1074 1075 // XXX old version 1076 # if 0 1014 1077 // XXX fix the hard coding of the table name 1015 1078 psArray *runs = psDBSelectRows(config->dbh, "detRun", config->where, 0); … … 1018 1081 return false; 1019 1082 } 1083 # endif 1020 1084 1021 1085 if (!psArrayLength(runs)) { -
trunk/ippTools/src/dettoolConfig.c
r16170 r16613 324 324 psMetadataAddBool(runsArgs, PS_LIST_TAIL, "-simple", 0, 325 325 "use the simple output format", false); 326 psMetadataAddBool(runsArgs, PS_LIST_TAIL, "-active", 0, 327 "only return active detRuns", false); 328 psMetadataAddU64(runsArgs, PS_LIST_TAIL, "-limit", 0, 329 "limit result set to N items", 0); 326 330 psMetadataAddStr(runsArgs, PS_LIST_TAIL, "-det_id", 0, 327 331 "search for detrend ID", NULL); 332 333 psMetadataAddStr(runsArgs, PS_LIST_TAIL, "-inst", 0, 334 "search for camera (instrument)", NULL); 335 psMetadataAddStr(runsArgs, PS_LIST_TAIL, "-telescope", 0, 336 "search for telescope", NULL); 337 psMetadataAddStr(runsArgs, PS_LIST_TAIL, "-filter", 0, 338 "search for filter", NULL); 339 340 psMetadataAddF32(runsArgs, PS_LIST_TAIL, "-airmass", 0, 341 "match airmass", NAN); 342 psMetadataAddF32(runsArgs, PS_LIST_TAIL, "-exp_time", 0, 343 "match exp time", NAN); 344 psMetadataAddF32(runsArgs, PS_LIST_TAIL, "-ccd_temp", 0, 345 "match ccd temp", NAN); 346 psMetadataAddF64(runsArgs, PS_LIST_TAIL, "-posang", 0, 347 "match posang", NAN); 328 348 329 349 // -childlessrun
Note:
See TracChangeset
for help on using the changeset viewer.
