Changeset 9817
- Timestamp:
- Oct 31, 2006, 6:21:24 PM (20 years ago)
- Location:
- trunk/ippTools/src
- Files:
-
- 2 edited
-
dettool.c (modified) (2 diffs)
-
dettoolConfig.c (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ippTools/src/dettool.c
r9816 r9817 4617 4617 { 4618 4618 PS_ASSERT_PTR_NON_NULL(config, false); 4619 4620 // required options 4621 bool status = false; 4622 psString det_type = psMetadataLookupStr(&status, config->args, "-det_type"); 4623 if (!status) { 4624 psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -det_type"); 4625 return false; 4626 } 4627 if (!det_type) { 4628 psError(PS_ERR_UNKNOWN, true, "-det_type is required"); 4629 return false; 4630 } 4631 4632 // everything else is optional 4633 psString exp_type = psMetadataLookupStr(&status, config->args, "-exp_type"); 4634 if (!status) { 4635 psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -exp_type"); 4636 return false; 4637 } 4638 4639 psString filter = psMetadataLookupStr(&status, config->args, "-filter"); 4640 if (!status) { 4641 psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -filter"); 4642 return false; 4643 } 4644 4645 psF32 airmass = psMetadataLookupF32(&status, config->args, "-airmass"); 4646 if (!status) { 4647 psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -airmass"); 4648 return false; 4649 } 4650 4651 psF32 exp_time = psMetadataLookupF32(&status, config->args, "-exp_time"); 4652 if (!status) { 4653 psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -exp_time"); 4654 return false; 4655 } 4656 4657 psF32 ccd_temp = psMetadataLookupF32(&status, config->args, "-ccd_temp"); 4658 if (!status) { 4659 psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -ccd_temp"); 4660 return false; 4661 } 4662 4663 psF64 posang = psMetadataLookupF32(&status, config->args, "-posang"); 4664 if (!status) { 4665 psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -posang"); 4666 return false; 4667 } 4668 4669 psString object = psMetadataLookupStr(&status, config->args, "-object"); 4670 if (!status) { 4671 psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -object"); 4672 return false; 4673 } 4674 4675 psTime *registered = NULL; 4676 { 4677 psString registeredStr = psMetadataLookupStr(&status, config->args, "-registered"); 4678 if (!status) { 4679 psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -registered"); 4680 return false; 4681 } 4682 // pass through NULL as this is an optional field 4683 if (registeredStr) { 4684 registered = psTimeFromISO(registeredStr, PS_TIME_UTC); 4685 } else { 4686 registered = NULL; 4687 } 4688 } 4689 4690 psTime *use_begin = NULL; 4691 { 4692 psString use_beginStr = psMetadataLookupStr(&status, config->args, "-use_begin"); 4693 if (!status) { 4694 psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -use_begin"); 4695 return false; 4696 } 4697 // pass through NULL as this is an optional field 4698 if (use_beginStr) { 4699 use_begin = psTimeFromISO(use_beginStr, PS_TIME_UTC); 4700 } else { 4701 use_begin = NULL; 4702 } 4703 } 4704 4705 psTime *use_end = NULL; 4706 { 4707 psString use_endStr = psMetadataLookupStr(&status, config->args, "-use_end"); 4708 if (!status) { 4709 psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -use_end"); 4710 return false; 4711 } 4712 // pass through NULL as this is an optional field 4713 if (use_endStr) { 4714 use_end = psTimeFromISO(use_endStr, PS_TIME_UTC); 4715 } else { 4716 use_end = NULL; 4717 } 4718 } 4719 4720 psF64 bg = psMetadataLookupF64(&status, config->args, "-bg"); 4721 if (!status) { 4722 psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -bg"); 4723 return false; 4724 } 4725 4726 psF64 bg_stdev = psMetadataLookupF64(&status, config->args, "-bg_stdev"); 4727 if (!status) { 4728 psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -bg_stdev"); 4729 return false; 4730 } 4731 4732 psF64 bg_mean_stdev = psMetadataLookupF64(&status, config->args, "-bg_mean_stdev"); 4733 if (!status) { 4734 psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -bg_mean_stdev"); 4735 return false; 4736 } 4737 4738 if (!psDBTransaction(config->dbh)) { 4739 psError(PS_ERR_UNKNOWN, false, "database error"); 4740 return false; 4741 } 4742 4743 if (!detRunInsert(config->dbh, 4744 0, 4745 0, // the iteration is fixed at 0 4746 det_type, 4747 "reg", 4748 exp_type, 4749 filter, 4750 airmass, 4751 exp_time, 4752 ccd_temp, 4753 posang, 4754 object, 4755 registered, 4756 use_begin, 4757 use_end 4758 )) { 4759 psError(PS_ERR_UNKNOWN, false, "database error"); 4760 // rollback 4761 if (!psDBRollback(config->dbh)) { 4762 psError(PS_ERR_UNKNOWN, false, "database error"); 4763 } 4764 return false; 4765 } 4766 4767 if (!detRunSummaryInsert(config->dbh, 4768 psDBLastInsertID(config->dbh), 4769 0, // the iteration is fixed at 0 4770 bg, 4771 bg_stdev, 4772 bg_mean_stdev, 4773 true // accept 4774 )) { 4775 psError(PS_ERR_UNKNOWN, false, "database error"); 4776 // rollback 4777 if (!psDBRollback(config->dbh)) { 4778 psError(PS_ERR_UNKNOWN, false, "database error"); 4779 } 4780 return false; 4781 } 4782 4783 if (!psDBCommit(config->dbh)) { 4784 psError(PS_ERR_UNKNOWN, false, "database error"); 4785 return false; 4786 } 4787 4619 4788 return true; 4620 4789 } … … 4623 4792 { 4624 4793 PS_ASSERT_PTR_NON_NULL(config, false); 4794 4795 // required options 4796 bool status = false; 4797 psString det_id = psMetadataLookupStr(&status, config->args, "-det_id"); 4798 if (!status) { 4799 psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -det_id"); 4800 return false; 4801 } 4802 if (!det_id) { 4803 psError(PS_ERR_UNKNOWN, true, "-det_id is required"); 4804 return false; 4805 } 4806 4807 psString class_id = psMetadataLookupStr(&status, config->args, "-class_id"); 4808 if (!status) { 4809 psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -class_id"); 4810 return false; 4811 } 4812 if (!class_id) { 4813 psError(PS_ERR_UNKNOWN, true, "-class_id is required"); 4814 return false; 4815 } 4816 4817 psString uri = psMetadataLookupStr(&status, config->args, "-uri"); 4818 if (!status) { 4819 psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -uri"); 4820 return false; 4821 } 4822 if (!uri) { 4823 psError(PS_ERR_UNKNOWN, true, "-uri is required"); 4824 return false; 4825 } 4826 4827 // everything else is optional 4828 psF64 bg = psMetadataLookupF64(&status, config->args, "-bg"); 4829 if (!status) { 4830 psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -bg"); 4831 return false; 4832 } 4833 4834 psF64 bg_stdev = psMetadataLookupF64(&status, config->args, "-bg_stdev"); 4835 if (!status) { 4836 psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -bg_stdev"); 4837 return false; 4838 } 4839 4840 psF64 bg_mean_stdev = psMetadataLookupF64(&status, config->args, "-bg_mean_stdev"); 4841 if (!status) { 4842 psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -bg_mean_stdev"); 4843 return false; 4844 } 4845 4846 psString b1_uri = psMetadataLookupStr(&status, config->args, "-b1_uri"); 4847 if (!status) { 4848 psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -b1_uri"); 4849 return false; 4850 } 4851 4852 psString b2_uri = psMetadataLookupStr(&status, config->args, "-b2_uri"); 4853 if (!status) { 4854 psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -b2_uri"); 4855 return false; 4856 } 4857 4858 // XXX this is going in without checking that the det_id is valid. 4859 // it seems like it be better to be using forgein key constraints rather 4860 // then having to resort to a seperate query (and locking) to check that 4861 // the det_id is valid 4862 if (!detNormalizedImfileInsert(config->dbh, 4863 (psS32)atoi(det_id), 4864 0, // the iteration is fixed at 0 4865 class_id, 4866 uri, 4867 bg, 4868 bg_stdev, 4869 bg_mean_stdev, 4870 b1_uri, 4871 b2_uri 4872 )) { 4873 psError(PS_ERR_UNKNOWN, false, "database error"); 4874 return false; 4875 } 4876 4625 4877 return true; 4626 4878 } -
trunk/ippTools/src/dettoolConfig.c
r9816 r9817 555 555 psMetadata *register_detrend_imfileArgs = psMetadataAlloc(); 556 556 psMetadataAddStr(register_detrend_imfileArgs, PS_LIST_TAIL, "-det_id", 0, 557 "define detrend ID ", NULL);557 "define detrend ID (required)", NULL); 558 558 psMetadataAddStr(register_detrend_imfileArgs, PS_LIST_TAIL, "-class_id", 0, 559 "search for class ID ", NULL);559 "search for class ID (required)", NULL); 560 560 psMetadataAddStr(register_detrend_imfileArgs, PS_LIST_TAIL, "-uri", 0, 561 561 "define resid file URI (required)", NULL);
Note:
See TracChangeset
for help on using the changeset viewer.
