Changeset 17180
- Timestamp:
- Mar 28, 2008, 1:11:24 PM (18 years ago)
- Location:
- trunk/ippTools/src
- Files:
-
- 4 edited
-
pxwarp.c (modified) (2 diffs)
-
pxwarp.h (modified) (1 diff)
-
warptool.c (modified) (1 diff)
-
warptoolConfig.c (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ippTools/src/pxwarp.c
r17142 r17180 31 31 bool pxwarpRunSetState(pxConfig *config, psS64 warp_id, const char *state) 32 32 { 33 PS_ASSERT_PTR_NON_NULL(config, false); 33 34 PS_ASSERT_PTR_NON_NULL(state, false); 34 35 … … 51 52 return false; 52 53 } 54 55 return true; 56 } 57 58 59 bool pxwarpRunSetStateByQuery(pxConfig *config, psMetadata *where, const char *state) 60 { 61 PS_ASSERT_PTR_NON_NULL(config, false); 62 PS_ASSERT_PTR_NON_NULL(state, false); 63 64 // check that state is a valid string value 65 if (!( 66 (strncmp(state, "run", 4) == 0) 67 || (strncmp(state, "stop", 5) == 0) 68 || (strncmp(state, "reg", 4) == 0) 69 ) 70 ) { 71 psError(PS_ERR_UNKNOWN, false, 72 "invalid chipRun state: %s", state); 73 return false; 74 } 75 76 psString query = psStringCopy("UPDATE warpRun JOIN camRun USING(cam_id) JOIN chipRun USING(chip_id) JOIN rawExp USING(exp_id) SET state = '%s'"); 77 78 if (where) { 79 psString whereClause = psDBGenerateWhereSQL(where, NULL); 80 psStringAppend(&query, " %s", whereClause); 81 psFree(whereClause); 82 } 83 84 if (!p_psDBRunQuery(config->dbh, query, state)) { 85 psFree(query); 86 psError(PS_ERR_UNKNOWN, false, "database error"); 87 return false; 88 } 89 90 psFree(query); 91 92 return true; 93 } 94 95 96 bool pxwarpRunSetLabel(pxConfig *config, psS64 warp_id, const char *label) 97 { 98 PS_ASSERT_PTR_NON_NULL(config, false); 99 // note label == NULL should be explicitly allowed 100 101 char *query = "UPDATE warpRun SET warpRun.label = '%s' WHERE warp_id = %" PRId64; 102 if (!p_psDBRunQuery(config->dbh, query, label, warp_id)) { 103 psError(PS_ERR_UNKNOWN, false, 104 "failed to change label for warp_id %" PRId64, warp_id); 105 return false; 106 } 107 108 return true; 109 } 110 111 112 bool pxwarpRunSetLabelByQuery(pxConfig *config, psMetadata *where, const char *label) 113 { 114 PS_ASSERT_PTR_NON_NULL(config, false); 115 // note label == NULL should be explicitly allowed 116 117 psString query = psStringCopy("UPDATE warpRun JOIN camRun USING(cam_id) JOIN chipRun USING(chip_id) JOIN rawExp USING(exp_id) SET warpRun.label = '%s'"); 118 119 if (where) { 120 psString whereClause = psDBGenerateWhereSQL(where, NULL); 121 psStringAppend(&query, " %s", whereClause); 122 psFree(whereClause); 123 } 124 125 if (!p_psDBRunQuery(config->dbh, query, label)) { 126 psFree(query); 127 psError(PS_ERR_UNKNOWN, false, "database error"); 128 return false; 129 } 130 131 psFree(query); 53 132 54 133 return true; -
trunk/ippTools/src/pxwarp.h
r17142 r17180 26 26 27 27 bool pxwarpRunSetState(pxConfig *config, psS64 warp_id, const char *state); 28 bool pxwarpRunSetStateByQuery(pxConfig *config, psMetadata *where, const char *state); 29 bool pxwarpRunSetLabel(pxConfig *config, psS64 warp_id, const char *label); 30 bool pxwarpRunSetLabelByQuery(pxConfig *config, psMetadata *where, const char *label); 28 31 29 32 bool pxwarpQueueByCamID(pxConfig *config, -
trunk/ippTools/src/warptool.c
r17145 r17180 175 175 PS_ASSERT_PTR_NON_NULL(config, false); 176 176 177 PXOPT_LOOKUP_STR(warp_id, config->args, "-warp_id", true, false); 178 PXOPT_LOOKUP_STR(state, config->args, "-state", true, false); 177 PXOPT_LOOKUP_STR(warp_id, config->args, "-warp_id", false, false); 178 PXOPT_LOOKUP_STR(cam_id, config->args, "-cam_id", false, false); 179 PXOPT_LOOKUP_STR(chip_id, config->args, "-chip_id", false, false); 180 PXOPT_LOOKUP_STR(exp_id, config->args, "-exp_id", false, false); 181 182 psMetadata *where = psMetadataAlloc(); 183 // convert warp_id into a psS64 184 if (warp_id) { 185 if (!psMetadataAddS64(where, PS_LIST_TAIL, "warp_id", 0, "==", (psS64)atoll(warp_id))) { 186 psError(PS_ERR_UNKNOWN, false, "failed to add item warp_id"); 187 psFree(where); 188 return false; 189 } 190 } 191 192 // convert cam_id into a psS64 193 if (cam_id) { 194 if (!psMetadataAddS64(where, PS_LIST_TAIL, "cam_id", 0, "==", (psS64)atoll(cam_id))) { 195 psError(PS_ERR_UNKNOWN, false, "failed to add item cam_id"); 196 psFree(where); 197 return false; 198 } 199 } 200 201 // convert chip_id into a psS64 202 if (chip_id) { 203 if (!psMetadataAddS64(where, PS_LIST_TAIL, "chip_id", 0, "==", (psS64)atoll(chip_id))) { 204 psError(PS_ERR_UNKNOWN, false, "failed to add item chip_id"); 205 psFree(where); 206 return false; 207 } 208 } 209 210 // convert exp_id into a psS64 211 if (exp_id) { 212 if (!psMetadataAddS64(where, PS_LIST_TAIL, "exp_id", 0, "==", (psS64)atoll(exp_id))) { 213 psError(PS_ERR_UNKNOWN, false, "failed to add item exp_id"); 214 psFree(where); 215 return false; 216 } 217 } 218 219 PXOPT_COPY_STR(config->args, where, "-exp_name", "exp_name", "=="); 220 PXOPT_COPY_STR(config->args, where, "-inst", "camera", "=="); 221 PXOPT_COPY_STR(config->args, where, "-telescope", "telescope", "=="); 222 PXOPT_COPY_TIME(config->args, where, "-dateobs_begin", "dateobs", ">="); 223 PXOPT_COPY_TIME(config->args, where, "-dateobs_end", "dateobs", "<="); 224 PXOPT_COPY_STR(config->args, where, "-exp_tag", "exp_tag", "=="); 225 PXOPT_COPY_STR(config->args, where, "-exp_type", "exp_type", "=="); 226 PXOPT_COPY_STR(config->args, where, "-filelevel", "filelevel", "=="); 227 PXOPT_COPY_STR(config->args, where, "-reduction", "reduction", "=="); 228 PXOPT_COPY_STR(config->args, where, "-filter", "filter", "=="); 229 230 PXOPT_COPY_F64(config->args, where, "-airmass_min", "airmass", ">="); 231 PXOPT_COPY_F64(config->args, where, "-airmass_max", "airmass", "<"); 232 PXOPT_COPY_F64(config->args, where, "-ra_min", "ra", ">="); 233 PXOPT_COPY_F64(config->args, where, "-ra_max", "ra", "<"); 234 PXOPT_COPY_F64(config->args, where, "-decl_min", "decl", ">="); 235 PXOPT_COPY_F64(config->args, where, "-decl_max", "decl", "<"); 236 PXOPT_COPY_F32(config->args, where, "-exp_time_min", "exp_time", ">="); 237 PXOPT_COPY_F32(config->args, where, "-exp_time_max", "exp_time", "<"); 238 PXOPT_COPY_F32(config->args, where, "-sat_pixel_frac_min", "sat_pixel_frac", ">="); 239 PXOPT_COPY_F32(config->args, where, "-sat_pixel_frac_max", "sat_pixel_frac", "<"); 240 PXOPT_COPY_F64(config->args, where, "-bg_min", "bt", ">="); 241 PXOPT_COPY_F64(config->args, where, "-bg_max", "bt", "<"); 242 PXOPT_COPY_F64(config->args, where, "-bg_stdev_min", "bg_stdev", ">="); 243 PXOPT_COPY_F64(config->args, where, "-bg_stdev_max", "bg_stdev", "<"); 244 PXOPT_COPY_F64(config->args, where, "-bg_mean_stdev_min", "bg_mean_stdev", ">="); 245 PXOPT_COPY_F64(config->args, where, "-bg_mean_stdev_max", "bg_mean_stdev", "<"); 246 PXOPT_COPY_F64(config->args, where, "-alt_min", "alt", ">="); 247 PXOPT_COPY_F64(config->args, where, "-alt_max", "alt", "<"); 248 PXOPT_COPY_F64(config->args, where, "-az_min", "az", ">="); 249 PXOPT_COPY_F64(config->args, where, "-az_max", "az", "<"); 250 PXOPT_COPY_F32(config->args, where, "-ccd_temp_min", "ccd_temp", ">="); 251 PXOPT_COPY_F32(config->args, where, "-ccd_temp_max", "ccd_temp", "<"); 252 PXOPT_COPY_F64(config->args, where, "-posang_min", "posang", ">="); 253 PXOPT_COPY_F64(config->args, where, "-posang_max", "posang", "<"); 254 PXOPT_COPY_STR(config->args, where, "-object", "object", "=="); 255 PXOPT_COPY_F32(config->args, where, "-solang_min", "solang", ">="); 256 PXOPT_COPY_F32(config->args, where, "-solang_max", "solang", "<"); 257 258 if (!psListLength(where->list)) { 259 psFree(where); 260 psError(PXTOOLS_ERR_DATA, false, "search parameters are required"); 261 return false; 262 } 263 264 PXOPT_LOOKUP_STR(state, config->args, "-state", false, false); 265 PXOPT_LOOKUP_STR(label, config->args, "-label", false, false); 266 267 if ((!state) && (!label)) { 268 psError(PXTOOLS_ERR_DATA, false, "parameters are required"); 269 return false; 270 } 179 271 180 272 if (state) { 181 // set detRun.state to state 182 return pxwarpRunSetState(config, (psS64)atoll(warp_id), state); 273 // set chipRun.state to state 274 if (!pxwarpRunSetStateByQuery(config, where, state)) { 275 return false; 276 } 277 } 278 279 if (label) { 280 // set chipRun.label to label 281 if (!pxwarpRunSetLabelByQuery(config, where, label)) { 282 return false; 283 } 183 284 } 184 285 -
trunk/ippTools/src/warptoolConfig.c
r17145 r17180 72 72 // -updaterun 73 73 psMetadata *updaterunArgs = psMetadataAlloc(); 74 // XXX need to allow multiple cam_ids 74 75 psMetadataAddStr(updaterunArgs, PS_LIST_TAIL, "-warp_id", 0, 75 "define warptool ID (required)", NULL); 76 "search by warptool ID", NULL); 77 // XXX need to allow multiple cam_ids 78 psMetadataAddStr(updaterunArgs, PS_LIST_TAIL, "-cam_id", 0, 79 "search by cam_id", NULL); 80 // XXX need to allow multiple chip_ids 81 psMetadataAddStr(updaterunArgs, PS_LIST_TAIL, "-chip_id", 0, 82 "search by chip_id", NULL); 83 // XXX need to allow multiple exp_ids 84 psMetadataAddStr(updaterunArgs, PS_LIST_TAIL, "-exp_id", 0, 85 "search by exp_id", NULL); 86 psMetadataAddStr(updaterunArgs, PS_LIST_TAIL, "-exp_name", 0, 87 "search by exp_name", NULL); 88 psMetadataAddStr(updaterunArgs, PS_LIST_TAIL, "-inst", 0, 89 "search for camera", NULL); 90 psMetadataAddStr(updaterunArgs, PS_LIST_TAIL, "-telescope", 0, 91 "search for telescope", NULL); 92 psMetadataAddTime(updaterunArgs, PS_LIST_TAIL, "-dateobs_begin", 0, 93 "search for exposures by time (>=)", NULL); 94 psMetadataAddTime(updaterunArgs, PS_LIST_TAIL, "-dateobs_end", 0, 95 "search for exposures by time (<)", NULL); 96 psMetadataAddStr(updaterunArgs, PS_LIST_TAIL, "-exp_tag", 0, 97 "search by exp_tag", NULL); 98 psMetadataAddStr(updaterunArgs, PS_LIST_TAIL, "-exp_type", 0, 99 "search by exp_type", NULL); 100 psMetadataAddStr(updaterunArgs, PS_LIST_TAIL, "-filelevel", 0, 101 "search by filelevel", NULL); 102 psMetadataAddStr(updaterunArgs, PS_LIST_TAIL, "-reduction", 0, 103 "search by reduction class", NULL); 104 psMetadataAddStr(updaterunArgs, PS_LIST_TAIL, "-filter", 0, 105 "search for filter", NULL); 106 psMetadataAddF32(updaterunArgs, PS_LIST_TAIL, "-airmass_min", 0, 107 "define min airmass", NAN); 108 psMetadataAddF32(updaterunArgs, PS_LIST_TAIL, "-airmass_max", 0, 109 "define max airmass", NAN); 110 psMetadataAddF64(updaterunArgs, PS_LIST_TAIL, "-ra_min", 0, 111 "define min", NAN); 112 psMetadataAddF64(updaterunArgs, PS_LIST_TAIL, "-ra_max", 0, 113 "define max", NAN); 114 psMetadataAddF64(updaterunArgs, PS_LIST_TAIL, "-decl_min", 0, 115 "define min", NAN); 116 psMetadataAddF64(updaterunArgs, PS_LIST_TAIL, "-decl_max", 0, 117 "define max", NAN); 118 psMetadataAddF32(updaterunArgs, PS_LIST_TAIL, "-exp_time_min", 0, 119 "define min", NAN); 120 psMetadataAddF32(updaterunArgs, PS_LIST_TAIL, "-exp_time_max", 0, 121 "define max", NAN); 122 psMetadataAddF32(updaterunArgs, PS_LIST_TAIL, "-sat_pixel_frac_min", 0, 123 "define max fraction of saturated pixels", NAN); 124 psMetadataAddF32(updaterunArgs, PS_LIST_TAIL, "-sat_pixel_frac_max", 0, 125 "define min fraction of saturated pixels", NAN); 126 psMetadataAddF64(updaterunArgs, PS_LIST_TAIL, "-bg_min", 0, 127 "define max", NAN); 128 psMetadataAddF64(updaterunArgs, PS_LIST_TAIL, "-bg_max", 0, 129 "define max", NAN); 130 psMetadataAddF64(updaterunArgs, PS_LIST_TAIL, "-bg_stdev_min", 0, 131 "define max", NAN); 132 psMetadataAddF64(updaterunArgs, PS_LIST_TAIL, "-bg_stdev_max", 0, 133 "define max", NAN); 134 psMetadataAddF64(updaterunArgs, PS_LIST_TAIL, "-bg_mean_stdev_min", 0, 135 "define max", NAN); 136 psMetadataAddF64(updaterunArgs, PS_LIST_TAIL, "-bg_mean_stdev_max", 0, 137 "define max", NAN); 138 psMetadataAddF64(updaterunArgs, PS_LIST_TAIL, "-alt_min", 0, 139 "define min", NAN); 140 psMetadataAddF64(updaterunArgs, PS_LIST_TAIL, "-alt_max", 0, 141 "define max", NAN); 142 psMetadataAddF64(updaterunArgs, PS_LIST_TAIL, "-az_min", 0, 143 "define min", NAN); 144 psMetadataAddF64(updaterunArgs, PS_LIST_TAIL, "-az_max", 0, 145 "define max", NAN); 146 psMetadataAddF64(updaterunArgs, PS_LIST_TAIL, "-ccd_temp_min", 0, 147 "define min ccd tempature", NAN); 148 psMetadataAddF64(updaterunArgs, PS_LIST_TAIL, "-ccd_temp_max", 0, 149 "define max ccd tempature", NAN); 150 psMetadataAddF64(updaterunArgs, PS_LIST_TAIL, "-posang_min", 0, 151 "define min rotator position angle", NAN); 152 psMetadataAddF64(updaterunArgs, PS_LIST_TAIL, "-posang_max", 0, 153 "define max rotator position angle", NAN); 154 psMetadataAddStr(updaterunArgs, PS_LIST_TAIL, "-object", 0, 155 "search by exposure object", NULL); 156 psMetadataAddF32(updaterunArgs, PS_LIST_TAIL, "-solang_min", 0, 157 "define min solar angle", NAN); 158 psMetadataAddF32(updaterunArgs, PS_LIST_TAIL, "-solang_max", 0, 159 "define max solar angle", NAN); 160 76 161 psMetadataAddStr(updaterunArgs, PS_LIST_TAIL, "-state", 0, 77 "set state (required)", NULL); 162 "set state", NULL); 163 psMetadataAddStr(updaterunArgs, PS_LIST_TAIL, "-label", 0, 164 "set label", NULL); 78 165 #if 0 79 166 psMetadataAddStr(updaterunArgs, PS_LIST_TAIL, "-workdir", 0,
Note:
See TracChangeset
for help on using the changeset viewer.
