Changeset 7247
- Timestamp:
- May 30, 2006, 3:59:22 PM (20 years ago)
- Location:
- trunk/ippTools/src
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/ippTools/src/dettool.c
r7243 r7247 4 4 5 5 #include <stdlib.h> 6 #include <metadatadb.h> 6 7 7 8 #include "pxtools.h" … … 9 10 10 11 static bool defineMode(pxConfig *config); 12 static bool runsMode(pxConfig *config); 11 13 static bool rawMode(pxConfig *config); 12 14 static bool addprocMode(pxConfig *config); … … 31 33 case DETTOOL_MODE_DEFINE: 32 34 if (!defineMode(config)) { 35 goto FAIL; 36 } 37 break; 38 case DETTOOL_MODE_RUNS: 39 if (!runsMode(config)) { 33 40 goto FAIL; 34 41 } … … 163 170 // print the new det_id 164 171 printf("%ld\n", det_id); 172 173 return true; 174 } 175 176 static bool runsMode(pxConfig *config) 177 { 178 PS_ASSERT_PTR_NON_NULL(config, false); 179 180 // psArray *runs = detRunSelectRowObjects(config->dbh, config->where, 0); 181 // XXX fix the hard coding of the table name 182 psArray *runs = psDBSelectRows(config->dbh, "detRun", config->where, 0); 183 if (!runs) { 184 psError(PS_ERR_UNKNOWN, false, "no detRun rows found"); 185 return false; 186 } 187 188 // print imfile list 189 psMetadata *output = psMetadataAlloc(); 190 for (long i = 0; i < psArrayLength(runs); i++) { 191 psMetadata *run = runs->data[i]; 192 psMetadata *md = psMetadataAlloc(); 193 bool status = false; 194 // we need to change "position" to "det_id" 195 // lookup values 196 psS32 det_id = psMetadataLookupS32(&status, run, "position"); 197 if (!status) { 198 psError(PS_ERR_UNKNOWN, false, 199 "failed to lookup value for position"); 200 psFree(output); 201 psFree(md); 202 psFree(runs); 203 return false; 204 } 205 psString det_type = psMetadataLookupStr(&status, run, "det_type"); 206 if (!status) { 207 psError(PS_ERR_UNKNOWN, false, 208 "failed to lookup value for det_type"); 209 psFree(output); 210 psFree(md); 211 psFree(runs); 212 return false; 213 } 214 // add values 215 if (!psMetadataAddS32(md, PS_LIST_TAIL, "det_id", PS_META_DUPLICATE_OK, 216 NULL, det_id)) { 217 psError(PS_ERR_UNKNOWN, false, "failed to add item det_id"); 218 psFree(output); 219 psFree(md); 220 psFree(runs); 221 return false; 222 } 223 if (!psMetadataAddStr(md, PS_LIST_TAIL, "det_type", 224 PS_META_DUPLICATE_OK, NULL, det_type)) { 225 psError(PS_ERR_UNKNOWN, false, "failed to add item det_type"); 226 psFree(output); 227 psFree(md); 228 psFree(runs); 229 return false; 230 } 231 psMetadataAddMetadata( 232 output, PS_LIST_TAIL, "detRun", PS_META_DUPLICATE_OK, NULL, md 233 ); 234 } 235 236 psString str = psMetadataConfigFormat(output); 237 psFree(output); 238 fprintf(stdout, "%s\n", str); 239 psFree(str); 240 241 psFree(runs); 165 242 166 243 return true; -
trunk/ippTools/src/dettool.h
r7196 r7247 7 7 DETTOOL_MODE_NONE = 0x0, 8 8 DETTOOL_MODE_DEFINE, 9 DETTOOL_MODE_RUNS, 9 10 DETTOOL_MODE_RAW, 10 11 DETTOOL_MODE_ADDPROCESSED, -
trunk/ippTools/src/dettoolConfig.c
r7242 r7247 21 21 exit(EXIT_FAILURE); 22 22 } 23 24 // CLI options25 // modes26 psMetadata *modes = psMetadataAlloc();27 psMetadataAddStr(modes , PS_LIST_TAIL, "-define", 0,28 "create a new detrend run", NULL);29 psMetadataAddStr(modes , PS_LIST_TAIL, "-raw", 0,30 "list raw imfiles pending processing", NULL);31 psMetadataAddStr(modes , PS_LIST_TAIL, "-addprocessed", 0,32 "add a processed imfile", NULL);33 psMetadataAddStr(modes , PS_LIST_TAIL, "-processed", 0,34 "list processed imfiles", NULL);35 psMetadataAddStr(modes , PS_LIST_TAIL, "-addstacked", 0,36 "add a stacked imfile", NULL);37 psMetadataAddStr(modes , PS_LIST_TAIL, "-stacked", 0,38 "list stacked imfiles", NULL);39 23 40 24 // -define … … 44 28 psMetadataAddStr(defineArgs, PS_LIST_TAIL, "-det_type", 0, 45 29 "define the type of detrend run", NULL); 30 31 // -runs 32 psMetadata *runsArgs = psMetadataAlloc(); 33 psMetadataAddStr(runsArgs, PS_LIST_TAIL, "-det_type", 0, 34 "search for type of detrend run", NULL); 46 35 47 36 // -raw … … 194 183 } 195 184 PXTOOL_MODE("-raw", DETTOOL_MODE_RAW, rawArgs); 185 PXTOOL_MODE("-runs", DETTOOL_MODE_RUNS, runsArgs); 196 186 PXTOOL_MODE("-addprocessed", DETTOOL_MODE_ADDPROCESSED, addprocArgs); 197 187 PXTOOL_MODE("-processed", DETTOOL_MODE_PROCESSED, procArgs); … … 219 209 psArgumentHelp(defineArgs); 220 210 psFree(defineArgs); 211 fprintf (stdout, "-runs "); 212 psArgumentHelp(runsArgs); 213 psFree(runsArgs); 221 214 fprintf (stdout, "-raw "); 222 215 psArgumentHelp(rawArgs); … … 247 240 psFree(normalizedframeArgs); 248 241 249 psFree(modes);250 242 exit(EXIT_FAILURE); 251 243 } 252 244 253 psFree(modes);254 245 psFree(defineArgs); 246 psFree(runsArgs); 255 247 psFree(rawArgs); 256 248 psFree(addprocArgs); … … 279 271 280 272 addWhereStr(det_id); 273 addWhereStr(det_type); 281 274 addWhereStr(exp_id); 282 275 addWhereStr(class_id);
Note:
See TracChangeset
for help on using the changeset viewer.
