Changeset 7195
- Timestamp:
- May 24, 2006, 12:32:10 PM (20 years ago)
- Location:
- trunk/ippTools/src
- Files:
-
- 2 edited
-
dettool.c (modified) (1 diff)
-
dettoolConfig.c (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ippTools/src/dettool.c
r7191 r7195 353 353 // find all matching detProcessedImfiles 354 354 // where query should be pre-generated 355 psArray * detProcessedImfiles =355 psArray *processedImfiles = 356 356 detProcessedImfileSelectRowObjects(config->dbh, config->where, 0); 357 if (! detProcessedImfiles) {357 if (!processedImfiles) { 358 358 psError(PS_ERR_UNKNOWN, false, "no detProcessedImfile rows found"); 359 359 return false; 360 360 } 361 361 362 // remove detStackedImfiles 363 // detStackedImfiles doesn't have an exp_id so we have to generate the 364 // where query ourselves 365 bool status = false; 366 psString det_id = psMetadataLookupStr(&status, config->args, "-det_id"); 367 if (!status) { 368 psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -det_id"); 369 return false; 370 } 371 psString class_id = psMetadataLookupStr(&status, config->args, "-class_id"); 372 if (!status) { 373 psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -class_id"); 374 return false; 375 } 376 psMetadata *where = psMetadataAlloc(); 377 if (det_id) { 378 if (!psMetadataAddS32(where, PS_LIST_TAIL, "det_id", 0, "==", 379 (psS32)atoi(det_id))) { 380 psError(PS_ERR_UNKNOWN, false, "failed to add item exp_id"); 381 psFree(where); 382 return false; 383 } 384 } 385 if (class_id) { 386 if (!psMetadataAddStr(where, PS_LIST_TAIL, "class_id", 0, "==", class_id)) { 387 psError(PS_ERR_UNKNOWN, false, "failed to add item class_id"); 388 psFree(where); 389 return false; 390 } 391 } 392 393 psArray *stackedImfiles = NULL; 394 if (where->list->n) { 395 stackedImfiles = detStackedImfileSelectRowObjects( 396 config->dbh, where, 0); 397 } else { 398 stackedImfiles = detStackedImfileSelectRowObjects( 399 config->dbh, NULL, 0); 400 } 401 psFree(where); 402 // XXX trace the not found case 403 if (stackedImfiles) { 404 for (long i = 0; i < psArrayLength(processedImfiles); i++) { 405 for (long j = 0; j < psArrayLength(stackedImfiles); j++) { 406 if (( 407 ((detProcessedImfileRow *)processedImfiles->data[i])->det_id 408 == 409 ((detStackedImfileRow *)stackedImfiles->data[j])->det_id 410 ) && (strcmp( 411 ((detProcessedImfileRow *)processedImfiles->data[i])->class_id, 412 ((detStackedImfileRow *)stackedImfiles->data[j])->class_id) 413 == 0)) { 414 // remove the rawImfiles from the list 415 psArrayRemove(processedImfiles, processedImfiles->data[i]); 416 i--; 417 break; 418 } 419 } 420 } 421 psFree(stackedImfiles); 422 } 423 362 424 // print imfile list 363 psMetadata *output = psMetadataAlloc(); 364 for (long i = 0; i < psArrayLength(detProcessedImfiles); i++) { 365 psMetadata *md = detProcessedImfileMetadataFromObject( 366 detProcessedImfiles->data[i]); 367 psMetadataAddMetadata( 368 output, PS_LIST_TAIL, "detProcessedImfile", PS_META_DUPLICATE_OK, 369 NULL, md 370 ); 371 } 372 373 psString str = psMetadataConfigFormat(output); 374 psFree(output); 375 fprintf(stdout, "%s\n", str); 376 psFree(str); 425 if (processedImfiles->n) { 426 psMetadata *output = psMetadataAlloc(); 427 for (long i = 0; i < psArrayLength(processedImfiles); i++) { 428 psMetadata *md = detProcessedImfileMetadataFromObject( 429 processedImfiles->data[i]); 430 psMetadataAddMetadata( 431 output, PS_LIST_TAIL, "detProcessedImfile", PS_META_DUPLICATE_OK, 432 NULL, md 433 ); 434 } 435 436 psString str = psMetadataConfigFormat(output); 437 psFree(output); 438 fprintf(stdout, "%s\n", str); 439 psFree(str); 440 } 441 442 psFree(processedImfiles); 377 443 378 444 return true; -
trunk/ippTools/src/dettoolConfig.c
r7177 r7195 274 274 addWhereStr(det_id); 275 275 addWhereStr(exp_id); 276 addWhereStr(class_id); 276 277 // convert '-inst' to 'camera' 277 278 if ((str = psMetadataLookupStr(&status, config->args, "-inst"))) {
Note:
See TracChangeset
for help on using the changeset viewer.
