IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 15776


Ignore:
Timestamp:
Dec 10, 2007, 12:25:13 PM (18 years ago)
Author:
jhoblitt
Message:

simplfy regtool -addprocessedimfile & add/require the -uri parameter

Location:
trunk/ippTools
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/ippTools/scripts/regtest.sh

    r15450 r15776  
    2828
    2929for ID in `seq 0 3`; do
    30     $regtool -addprocessedimfile -exp_id $exp_id1 -exp_name t10 -inst gpc -telescope ps1 -tmp_class_id tmp.$ID -class_id $ID -filter r -airmass 10 -ra 1 -decl 2 -exp_time 0 -bg 1 -bg_stdev 1 -bg_mean_stdev 10 -alt 10 -az 10 -ccd_temp 10 -posang 10 -object dog -dateobs 2006-10-20T10:10:10Z || exit 1
     30    $regtool -addprocessedimfile -exp_id $exp_id1 -exp_name t10 -inst gpc -telescope ps1 -tmp_class_id tmp.$ID -class_id $ID -filter r -airmass 10 -ra 1 -decl 2 -exp_time 0 -bg 1 -bg_stdev 1 -bg_mean_stdev 10 -alt 10 -az 10 -ccd_temp 10 -posang 10 -object dog -dateobs 2006-10-20T10:10:10Z -uri file://$ID || exit 1
    3131done;
    3232
     
    3838
    3939for ID in `seq 0 3`; do
    40     $regtool -addprocessedimfile -exp_id $exp_id2 -exp_name t11 -inst gpc -telescope ps1  -tmp_class_id tmp.$ID -class_id $ID -filter r -airmass 10 -ra 1 -decl 2 -exp_time 0 -bg 1 -bg_stdev 1 -bg_mean_stdev 10 -alt 10 -az 10 -ccd_temp 10 -posang 10 -object dog -dateobs 2006-10-20T10:10:10Z || exit 1
     40    $regtool -addprocessedimfile -exp_id $exp_id2 -exp_name t11 -inst gpc -telescope ps1  -tmp_class_id tmp.$ID -class_id $ID -filter r -airmass 10 -ra 1 -decl 2 -exp_time 0 -bg 1 -bg_stdev 1 -bg_mean_stdev 10 -alt 10 -az 10 -ccd_temp 10 -posang 10 -object dog -dateobs 2006-10-20T10:10:10Z -uri file://$ID  || exit 1
    4141done;
    4242
  • trunk/ippTools/src/regtool.c

    r15775 r15776  
    5050
    5151static rawExpRow *newToRawExp(pxConfig *config, newExpRow *exp);
    52 static rawImfileRow *newToRawImfile(pxConfig *config, newImfileRow *exp);
    5352//static psU32 mapCodeStrToInt(const char *codeStr);
    5453
     
    188187    PS_ASSERT_PTR_NON_NULL(config, false);
    189188
    190     psString query = pxDataGet("regtool_pendingimfile.sql");
    191     if (!query) {
    192         psError(PXTOOLS_ERR_DATA, false, "failed to retreive SQL statement");
    193         return false;
    194     }
    195 
     189    bool status = false;
     190    // required
     191    psString exp_id = psMetadataLookupStr(&status, config->args, "-exp_id");
     192    if (!status) {
     193        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -exp_id");
     194        return false;
     195    }
     196    if (!exp_id) {
     197        psError(PS_ERR_UNKNOWN, true, "-exp_id is required");
     198        return false;
     199    }
     200
     201    psString exp_name = psMetadataLookupStr(&status, config->args, "-exp_name");
     202    if (!status) {
     203        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -exp_name");
     204        return false;
     205    }
     206    if (!exp_name) {
     207        psError(PS_ERR_UNKNOWN, true, "-exp_name is required");
     208        return false;
     209    }
     210
     211    psString camera = psMetadataLookupStr(&status, config->args, "-inst");
     212    if (!status) {
     213        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -inst");
     214        return false;
     215    }
     216    if (!camera) {
     217        psError(PS_ERR_UNKNOWN, true, "-inst is required");
     218        return false;
     219    }
     220
     221    psString telescope = psMetadataLookupStr(&status, config->args, "-telescope");
     222    if (!status) {
     223        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -telescope");
     224        return false;
     225    }
     226    if (!telescope) {
     227        psError(PS_ERR_UNKNOWN, true, "-telescope is required");
     228        return false;
     229    }
     230
     231    psString tmp_class_id = psMetadataLookupStr(&status, config->args, "-tmp_class_id");
     232    if (!status) {
     233        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -tmp_class_id");
     234        return false;
     235    }
     236    if (!tmp_class_id) {
     237        psError(PS_ERR_UNKNOWN, true, "-tmp_class_id is required");
     238    }
     239
     240    psString class_id = psMetadataLookupStr(&status, config->args, "-class_id");
     241    if (!status) {
     242        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -class_id");
     243        return false;
     244    }
     245    if (!class_id) {
     246        psError(PS_ERR_UNKNOWN, true, "-class_id is required");
     247        return false;
     248    }
     249
     250    psString uri = psMetadataLookupStr(&status, config->args, "-uri");
     251    if (!status) {
     252        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -uri");
     253        return false;
     254    }
     255    if (!uri) {
     256        psError(PS_ERR_UNKNOWN, true, "-uri is required");
     257        return false;
     258    }
     259
     260    // optional
     261    psString exp_type = psMetadataLookupStr(&status, config->args, "-exp_type");
     262    if (!status) {
     263        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -exp_type");
     264        return false;
     265    }
     266
     267    psString filelevel = psMetadataLookupStr(&status, config->args, "-filelevel");
     268    if (!status) {
     269        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -filelevel");
     270        return false;
     271    }
     272
     273    psString filter = psMetadataLookupStr(&status, config->args, "-filter");
     274    if (!status) {
     275        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -filter");
     276        return false;
     277    }
     278
     279    psString comment = psMetadataLookupStr(&status, config->args, "-comment");
     280    if (!status) {
     281        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -comment");
     282        return false;
     283    }
     284
     285    psF32 airmass = psMetadataLookupF32(&status, config->args, "-airmass");
     286    if (!status) {
     287        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -airmass");
     288        return false;
     289    }
     290
     291    psF64 ra = psMetadataLookupF64(&status, config->args, "-ra");
     292    if (!status) {
     293        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -ra");
     294        return false;
     295    }
     296
     297    psF64 decl = psMetadataLookupF64(&status, config->args, "-decl");
     298    if (!status) {
     299        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -decl");
     300        return false;
     301    }
     302
     303    psF32 exp_time = psMetadataLookupF32(&status, config->args, "-exp_time");
     304    if (!status) {
     305        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -exp_time");
     306        return false;
     307    }
     308
     309    psF32 sat_pixel_frac = psMetadataLookupF32(&status, config->args, "-sat_pixel_frac");
     310    if (!status) {
     311        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -sat_pixel_frac");
     312        return false;
     313    }
     314
     315    psF64 bg = psMetadataLookupF64(&status, config->args, "-bg");
     316    if (!status) {
     317        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -bg");
     318        return false;
     319    }
     320
     321    psF64 bg_stdev = psMetadataLookupF64(&status, config->args, "-bg_stdev");
     322    if (!status) {
     323        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -bg_stdev");
     324        return false;
     325    }
     326
     327    psF64 bg_mean_stdev = psMetadataLookupF64(&status, config->args, "-bg_mean_stdev");
     328    if (!status) {
     329        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -bg_mean_stdev");
     330        return false;
     331    }
     332
     333    psF64 alt = psMetadataLookupF64(&status, config->args, "-alt");
     334    if (!status) {
     335        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -alt");
     336        return false;
     337    }
     338
     339    psF64 az = psMetadataLookupF64(&status, config->args, "-az");
     340    if (!status) {
     341        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -az");
     342        return false;
     343    }
     344
     345    psF32 ccd_temp = psMetadataLookupF32(&status, config->args, "-ccd_temp");
     346    if (!status) {
     347        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -ccd_temp");
     348        return false;
     349    }
     350
     351    psF64 posang = psMetadataLookupF32(&status, config->args, "-posang");
     352    if (!status) {
     353        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -posang");
     354        return false;
     355    }
     356
     357    psF32 m1_x = psMetadataLookupF32(&status, config->args, "-m1_x");
     358    if (!status) {
     359        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -m1_x");
     360        return false;
     361    }
     362    psF32 m1_y = psMetadataLookupF32(&status, config->args, "-m1_y");
     363    if (!status) {
     364        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -m1_y");
     365        return false;
     366    }
     367    psF32 m1_z = psMetadataLookupF32(&status, config->args, "-m1_z");
     368    if (!status) {
     369        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -m1_z");
     370        return false;
     371    }
     372    psF32 m1_tip = psMetadataLookupF32(&status, config->args, "-m1_tip");
     373    if (!status) {
     374        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -m1_tip");
     375        return false;
     376    }
     377    psF32 m1_tilt = psMetadataLookupF32(&status, config->args, "-m1_tilt");
     378    if (!status) {
     379        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -m1_tilt");
     380        return false;
     381    }
     382
     383    psF32 m2_x = psMetadataLookupF32(&status, config->args, "-m2_x");
     384    if (!status) {
     385        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -m2_x");
     386        return false;
     387    }
     388    psF32 m2_y = psMetadataLookupF32(&status, config->args, "-m2_y");
     389    if (!status) {
     390        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -m2_y");
     391        return false;
     392    }
     393    psF32 m2_z = psMetadataLookupF32(&status, config->args, "-m2_z");
     394    if (!status) {
     395        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -m2_z");
     396        return false;
     397    }
     398    psF32 m2_tip = psMetadataLookupF32(&status, config->args, "-m2_tip");
     399    if (!status) {
     400        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -m2_tip");
     401        return false;
     402    }
     403    psF32 m2_tilt = psMetadataLookupF32(&status, config->args, "-m2_tilt");
     404    if (!status) {
     405        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -m2_tilt");
     406        return false;
     407    }
     408
     409    psF32 env_temp = psMetadataLookupF32(&status, config->args, "-env_temperature");
     410    if (!status) {
     411        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -env_temperature");
     412        return false;
     413    }
     414    psF32 env_humid = psMetadataLookupF32(&status, config->args, "-env_humidity");
     415    if (!status) {
     416        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -env_humidity");
     417        return false;
     418    }
     419    psF32 env_wind = psMetadataLookupF32(&status, config->args, "-env_wind_speed");
     420    if (!status) {
     421        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -env_wind_speed");
     422        return false;
     423    }
     424    psF32 env_dir = psMetadataLookupF32(&status, config->args, "-env_wind_dir");
     425    if (!status) {
     426        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -env_wind_dir");
     427        return false;
     428    }
     429
     430    psF32 teltemp_m1 = psMetadataLookupF32(&status, config->args, "-teltemp_m1");
     431    if (!status) {
     432        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -teltemp_m1");
     433        return false;
     434    }
     435    psF32 teltemp_m1cell = psMetadataLookupF32(&status, config->args, "-teltemp_m1cell");
     436    if (!status) {
     437        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -teltemp_m1cell");
     438        return false;
     439    }
     440    psF32 teltemp_m2 = psMetadataLookupF32(&status, config->args, "-teltemp_m2");
     441    if (!status) {
     442        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -teltemp_m2");
     443        return false;
     444    }
     445    psF32 teltemp_spider = psMetadataLookupF32(&status, config->args, "-teltemp_spider");
     446    if (!status) {
     447        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -teltemp_spider");
     448        return false;
     449    }
     450    psF32 teltemp_truss = psMetadataLookupF32(&status, config->args, "-teltemp_truss");
     451    if (!status) {
     452        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -teltemp_truss");
     453        return false;
     454    }
     455    psF32 teltemp_extra = psMetadataLookupF32(&status, config->args, "-teltemp_extra");
     456    if (!status) {
     457        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -teltemp_extra");
     458        return false;
     459    }
     460
     461    psF32 pon_time = psMetadataLookupF32(&status, config->args, "-pon_time");
     462    if (!status) {
     463        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -pon_time");
     464        return false;
     465    }
     466
     467    psF64 user_1 = psMetadataLookupF64(&status, config->args, "-user_1");
     468    if (!status) {
     469        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -user_1");
     470        return false;
     471    }
     472    psF64 user_2 = psMetadataLookupF64(&status, config->args, "-user_2");
     473    if (!status) {
     474        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -user_2");
     475        return false;
     476    }
     477    psF64 user_3 = psMetadataLookupF64(&status, config->args, "-user_3");
     478    if (!status) {
     479        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -user_3");
     480        return false;
     481    }
     482    psF64 user_4 = psMetadataLookupF64(&status, config->args, "-user_4");
     483    if (!status) {
     484        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -user_4");
     485        return false;
     486    }
     487    psF64 user_5 = psMetadataLookupF64(&status, config->args, "-user_5");
     488    if (!status) {
     489        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -user_5");
     490        return false;
     491    }
     492
     493    psString object = psMetadataLookupStr(&status, config->args, "-object");
     494    if (!status) {
     495        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -object");
     496        return false;
     497    }
     498
     499    psTime *dateobs = NULL;
    196500    {
    197         // build a query to search by exp_id, class, class_id
    198         psMetadata *where = psMetadataAlloc();
    199         bool status = false;
    200         psString exp_id = psMetadataLookupStr(&status, config->args, "-exp_id");
     501        psString dateobsStr = psMetadataLookupStr(&status, config->args, "-dateobs");
    201502        if (!status) {
    202             psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -exp_id");
    203             psFree(query);
     503            psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -dateobs");
    204504            return false;
    205505        }
    206         if (exp_id) {
    207             if (!psMetadataAddStr(where, PS_LIST_TAIL, "exp_id", 0, "==", exp_id)) {
    208                 psError(PS_ERR_UNKNOWN, false, "failed to add item exp_id");
    209                 psFree(where);
    210                 psFree(query);
    211                 return false;
    212             }
    213         }
    214 
    215         psString tmp_class_id = psMetadataLookupStr(&status, config->args, "-tmp_class_id");
    216         if (!status) {
    217             psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -tmp_class_id");
    218             psFree(query);
    219             return false;
    220         }
    221         if (tmp_class_id) {
    222             if (!psMetadataAddStr(where, PS_LIST_TAIL, "tmp_class_id", 0, "==", tmp_class_id)) {
    223                 psError(PS_ERR_UNKNOWN, false, "failed to add item tmp_class_id");
    224                 psFree(where);
    225                 psFree(query);
    226                 return false;
    227             }
    228         }
    229 
    230         // there's not
    231         psString whereClaus = psDBGenerateWhereSQL(where, NULL);
    232         psFree(where);
    233         if (whereClaus) {
    234             psStringAppend(&query, " %s", whereClaus);
    235             psFree(whereClaus);
    236         }
    237     }
    238 
    239     if (!p_psDBRunQuery(config->dbh, query)) {
     506        // pass through NULL as this is an optional field
     507        if (dateobsStr) {
     508            dateobs = psTimeFromISO(dateobsStr, PS_TIME_UTC);
     509        } else {
     510            dateobs = NULL;
     511        }
     512    }
     513
     514    psS16 code = psMetadataLookupS16(&status, config->args, "-code");
     515    if (!status) {
     516        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -code");
     517        return false;
     518    }
     519
     520    if (!rawImfileInsert(
     521        config->dbh,
     522        (psS64)atoll(exp_id),
     523        exp_name,
     524        camera,
     525        telescope,
     526        dateobs,
     527        tmp_class_id,
     528        class_id,
     529        uri,
     530        exp_type,
     531        filelevel,
     532        filter,
     533        comment,
     534        airmass,
     535        ra,
     536        decl,
     537        exp_time,
     538        sat_pixel_frac,
     539        bg,
     540        bg_stdev,
     541        bg_mean_stdev,
     542        alt,
     543        az,
     544        ccd_temp,
     545        posang,
     546        m1_x,
     547        m1_y,
     548        m1_z,
     549        m1_tip,
     550        m1_tilt,
     551        m2_x,
     552        m2_y,
     553        m2_z,
     554        m2_tip,
     555        m2_tilt,
     556        env_temp,
     557        env_humid,
     558        env_wind,
     559        env_dir,
     560        teltemp_m1,
     561        teltemp_m1cell,
     562        teltemp_m2,
     563        teltemp_spider,
     564        teltemp_truss,
     565        teltemp_extra,
     566        pon_time,
     567        user_1,
     568        user_2,
     569        user_3,
     570        user_4,
     571        user_5,
     572        object,
     573        code
     574    )) {
    240575        psError(PS_ERR_UNKNOWN, false, "database error");
    241         psFree(query);
    242         return false;
    243     }
    244     psFree(query);
    245 
    246     psArray *output = p_psDBFetchResult(config->dbh);
    247     if (!output) {
    248         psErrorCode err = psErrorCodeLast();
    249         switch (err) {
    250             case PS_ERR_DB_CLIENT:
    251                 psError(PXTOOLS_ERR_SYS, false, "database error");
    252             case PS_ERR_DB_SERVER:
    253                 psError(PXTOOLS_ERR_PROG, false, "database error");
    254             default:
    255                 psError(PXTOOLS_ERR_PROG, false, "unknown error");
    256         }
    257 
    258         return false;
    259     }
    260     if (!psArrayLength(output)) {
    261         psError(PS_ERR_UNKNOWN, false, "no pending newImfile rows found");
    262         psFree(output);
    263         return false;
    264     }
    265 
    266     // insert 'newImfile's into rawImfile
    267     if (psArrayLength(output) > 0) {
    268         // start a transaction so we don't end up half of the imfiles we were
    269         // trying to update uninserted
    270         if (!psDBTransaction(config->dbh)) {
    271             psError(PS_ERR_UNKNOWN, false, "database error");
    272             psFree(output);
    273             return false;
    274         }
    275 
    276         for (long i = 0; i < psArrayLength(output); i++) {
    277             // convert newImfile metadata -> newImfile object
    278             newImfileRow *object = newImfileObjectFromMetadata(output->data[i]);
    279             // convert newImfile object -> rawImfile object
    280             rawImfileRow *imfile = newToRawImfile(config, object);
    281             if (!imfile) {
    282                 // rollback
    283                 if (!psDBRollback(config->dbh)) {
    284                     psError(PS_ERR_UNKNOWN, false, "database error");
    285                 }
    286                 psError(PS_ERR_UNKNOWN, false, "failed to create a new rawImfile row");
    287                 psFree(object);
    288                 psFree(output);
    289                 return false;
    290             }
    291             psFree(object);
    292             // insert the rawImfile object into the database
    293             if (!rawImfileInsertObject(config->dbh, imfile)) {
    294                 // rollback
    295                 if (!psDBRollback(config->dbh)) {
    296                     psError(PS_ERR_UNKNOWN, false, "database error");
    297                 }
    298                 psError(PS_ERR_UNKNOWN, false, "failed to insert row into the database");
    299                 psFree(imfile);
    300                 psFree(output);
    301                 return false;
    302             }
    303             psFree(imfile);
    304         }
    305 
    306         // point of no return for rawImfile
    307         if (!psDBCommit(config->dbh)) {
    308             psError(PS_ERR_UNKNOWN, false, "database error");
    309             psFree(output);
    310             return false;
    311         }
    312     }
    313 
    314     psFree(output);
     576        psFree(dateobs);
     577        return false;
     578    }
     579
     580    psFree(dateobs);
    315581
    316582    return true;
     
    13281594    return raw;
    13291595}
    1330 
    1331 
    1332 static rawImfileRow *newToRawImfile(pxConfig *config, newImfileRow *imfile)
    1333 {
    1334     PS_ASSERT_PTR_NON_NULL(config, NULL);
    1335     PS_ASSERT_PTR_NON_NULL(exp, NULL);
    1336 
    1337     bool status = false;
    1338     // required
    1339     psString exp_name = psMetadataLookupStr(&status, config->args, "-exp_name");
    1340     if (!status) {
    1341         psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -exp_name");
    1342         return false;
    1343     }
    1344     if (!exp_name) {
    1345         psError(PS_ERR_UNKNOWN, true, "-exp_name is required");
    1346         return false;
    1347     }
    1348 
    1349     psString camera = psMetadataLookupStr(&status, config->args, "-inst");
    1350     if (!status) {
    1351         psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -inst");
    1352         return false;
    1353     }
    1354     if (!camera) {
    1355         psError(PS_ERR_UNKNOWN, true, "-inst is required");
    1356         return false;
    1357     }
    1358 
    1359     psString telescope = psMetadataLookupStr(&status, config->args, "-telescope");
    1360     if (!status) {
    1361         psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -telescope");
    1362         return false;
    1363     }
    1364     if (!telescope) {
    1365         psError(PS_ERR_UNKNOWN, true, "-telescope is required");
    1366         return false;
    1367     }
    1368 
    1369     psString tmp_class_id = psMetadataLookupStr(&status, config->args, "-tmp_class_id");
    1370     if (!status) {
    1371         psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -tmp_class_id");
    1372         return false;
    1373     }
    1374     if (!tmp_class_id) {
    1375         psError(PS_ERR_UNKNOWN, true, "-tmp_class_id is required");
    1376         return false;
    1377     }
    1378 
    1379     psString class_id = psMetadataLookupStr(&status, config->args, "-class_id");
    1380     if (!status) {
    1381         psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -class_id");
    1382         return false;
    1383     }
    1384     if (!class_id) {
    1385         psError(PS_ERR_UNKNOWN, true, "-class_id is required");
    1386         return false;
    1387     }
    1388 
    1389     // optional
    1390     psString exp_type = psMetadataLookupStr(&status, config->args, "-exp_type");
    1391     if (!status) {
    1392         psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -exp_type");
    1393         return false;
    1394     }
    1395 
    1396     psString filelevel = psMetadataLookupStr(&status, config->args, "-filelevel");
    1397     if (!status) {
    1398         psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -filelevel");
    1399         return false;
    1400     }
    1401 
    1402     psString filter = psMetadataLookupStr(&status, config->args, "-filter");
    1403     if (!status) {
    1404         psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -filter");
    1405         return false;
    1406     }
    1407 
    1408     psString comment = psMetadataLookupStr(&status, config->args, "-comment");
    1409     if (!status) {
    1410         psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -comment");
    1411         return false;
    1412     }
    1413 
    1414     psF32 airmass = psMetadataLookupF32(&status, config->args, "-airmass");
    1415     if (!status) {
    1416         psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -airmass");
    1417         return false;
    1418     }
    1419 
    1420     psF64 ra = psMetadataLookupF64(&status, config->args, "-ra");
    1421     if (!status) {
    1422         psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -ra");
    1423         return false;
    1424     }
    1425 
    1426     psF64 decl = psMetadataLookupF64(&status, config->args, "-decl");
    1427     if (!status) {
    1428         psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -decl");
    1429         return false;
    1430     }
    1431 
    1432     psF32 exp_time = psMetadataLookupF32(&status, config->args, "-exp_time");
    1433     if (!status) {
    1434         psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -exp_time");
    1435         return false;
    1436     }
    1437 
    1438     psF32 sat_pixel_frac = psMetadataLookupF32(&status, config->args, "-sat_pixel_frac");
    1439     if (!status) {
    1440         psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -sat_pixel_frac");
    1441         return false;
    1442     }
    1443 
    1444     psF64 bg = psMetadataLookupF64(&status, config->args, "-bg");
    1445     if (!status) {
    1446         psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -bg");
    1447         return false;
    1448     }
    1449 
    1450     psF64 bg_stdev = psMetadataLookupF64(&status, config->args, "-bg_stdev");
    1451     if (!status) {
    1452         psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -bg_stdev");
    1453         return false;
    1454     }
    1455 
    1456     psF64 bg_mean_stdev = psMetadataLookupF64(&status, config->args, "-bg_mean_stdev");
    1457     if (!status) {
    1458         psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -bg_mean_stdev");
    1459         return false;
    1460     }
    1461 
    1462     psF64 alt = psMetadataLookupF64(&status, config->args, "-alt");
    1463     if (!status) {
    1464         psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -alt");
    1465         return false;
    1466     }
    1467 
    1468     psF64 az = psMetadataLookupF64(&status, config->args, "-az");
    1469     if (!status) {
    1470         psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -az");
    1471         return false;
    1472     }
    1473 
    1474     psF32 ccd_temp = psMetadataLookupF32(&status, config->args, "-ccd_temp");
    1475     if (!status) {
    1476         psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -ccd_temp");
    1477         return false;
    1478     }
    1479 
    1480     psF64 posang = psMetadataLookupF32(&status, config->args, "-posang");
    1481     if (!status) {
    1482         psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -posang");
    1483         return false;
    1484     }
    1485 
    1486     psF32 m1_x = psMetadataLookupF32(&status, config->args, "-m1_x");
    1487     if (!status) {
    1488         psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -m1_x");
    1489         return false;
    1490     }
    1491     psF32 m1_y = psMetadataLookupF32(&status, config->args, "-m1_y");
    1492     if (!status) {
    1493         psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -m1_y");
    1494         return false;
    1495     }
    1496     psF32 m1_z = psMetadataLookupF32(&status, config->args, "-m1_z");
    1497     if (!status) {
    1498         psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -m1_z");
    1499         return false;
    1500     }
    1501     psF32 m1_tip = psMetadataLookupF32(&status, config->args, "-m1_tip");
    1502     if (!status) {
    1503         psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -m1_tip");
    1504         return false;
    1505     }
    1506     psF32 m1_tilt = psMetadataLookupF32(&status, config->args, "-m1_tilt");
    1507     if (!status) {
    1508         psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -m1_tilt");
    1509         return false;
    1510     }
    1511 
    1512     psF32 m2_x = psMetadataLookupF32(&status, config->args, "-m2_x");
    1513     if (!status) {
    1514         psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -m2_x");
    1515         return false;
    1516     }
    1517     psF32 m2_y = psMetadataLookupF32(&status, config->args, "-m2_y");
    1518     if (!status) {
    1519         psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -m2_y");
    1520         return false;
    1521     }
    1522     psF32 m2_z = psMetadataLookupF32(&status, config->args, "-m2_z");
    1523     if (!status) {
    1524         psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -m2_z");
    1525         return false;
    1526     }
    1527     psF32 m2_tip = psMetadataLookupF32(&status, config->args, "-m2_tip");
    1528     if (!status) {
    1529         psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -m2_tip");
    1530         return false;
    1531     }
    1532     psF32 m2_tilt = psMetadataLookupF32(&status, config->args, "-m2_tilt");
    1533     if (!status) {
    1534         psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -m2_tilt");
    1535         return false;
    1536     }
    1537 
    1538     psF32 env_temp = psMetadataLookupF32(&status, config->args, "-env_temperature");
    1539     if (!status) {
    1540         psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -env_temperature");
    1541         return false;
    1542     }
    1543     psF32 env_humid = psMetadataLookupF32(&status, config->args, "-env_humidity");
    1544     if (!status) {
    1545         psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -env_humidity");
    1546         return false;
    1547     }
    1548     psF32 env_wind = psMetadataLookupF32(&status, config->args, "-env_wind_speed");
    1549     if (!status) {
    1550         psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -env_wind_speed");
    1551         return false;
    1552     }
    1553     psF32 env_dir = psMetadataLookupF32(&status, config->args, "-env_wind_dir");
    1554     if (!status) {
    1555         psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -env_wind_dir");
    1556         return false;
    1557     }
    1558 
    1559     psF32 teltemp_m1 = psMetadataLookupF32(&status, config->args, "-teltemp_m1");
    1560     if (!status) {
    1561         psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -teltemp_m1");
    1562         return false;
    1563     }
    1564     psF32 teltemp_m1cell = psMetadataLookupF32(&status, config->args, "-teltemp_m1cell");
    1565     if (!status) {
    1566         psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -teltemp_m1cell");
    1567         return false;
    1568     }
    1569     psF32 teltemp_m2 = psMetadataLookupF32(&status, config->args, "-teltemp_m2");
    1570     if (!status) {
    1571         psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -teltemp_m2");
    1572         return false;
    1573     }
    1574     psF32 teltemp_spider = psMetadataLookupF32(&status, config->args, "-teltemp_spider");
    1575     if (!status) {
    1576         psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -teltemp_spider");
    1577         return false;
    1578     }
    1579     psF32 teltemp_truss = psMetadataLookupF32(&status, config->args, "-teltemp_truss");
    1580     if (!status) {
    1581         psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -teltemp_truss");
    1582         return false;
    1583     }
    1584     psF32 teltemp_extra = psMetadataLookupF32(&status, config->args, "-teltemp_extra");
    1585     if (!status) {
    1586         psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -teltemp_extra");
    1587         return false;
    1588     }
    1589 
    1590     psF32 pon_time = psMetadataLookupF32(&status, config->args, "-pon_time");
    1591     if (!status) {
    1592         psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -pon_time");
    1593         return false;
    1594     }
    1595 
    1596     psF64 user_1 = psMetadataLookupF64(&status, config->args, "-user_1");
    1597     if (!status) {
    1598         psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -user_1");
    1599         return false;
    1600     }
    1601     psF64 user_2 = psMetadataLookupF64(&status, config->args, "-user_2");
    1602     if (!status) {
    1603         psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -user_2");
    1604         return false;
    1605     }
    1606     psF64 user_3 = psMetadataLookupF64(&status, config->args, "-user_3");
    1607     if (!status) {
    1608         psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -user_3");
    1609         return false;
    1610     }
    1611     psF64 user_4 = psMetadataLookupF64(&status, config->args, "-user_4");
    1612     if (!status) {
    1613         psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -user_4");
    1614         return false;
    1615     }
    1616     psF64 user_5 = psMetadataLookupF64(&status, config->args, "-user_5");
    1617     if (!status) {
    1618         psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -user_5");
    1619         return false;
    1620     }
    1621 
    1622     psString object = psMetadataLookupStr(&status, config->args, "-object");
    1623     if (!status) {
    1624         psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -object");
    1625         return false;
    1626     }
    1627 
    1628     psTime *dateobs = NULL;
    1629     {
    1630         psString dateobsStr = psMetadataLookupStr(&status, config->args, "-dateobs");
    1631         if (!status) {
    1632             psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -dateobs");
    1633             return false;
    1634         }
    1635         // pass through NULL as this is an optional field
    1636         if (dateobsStr) {
    1637             dateobs = psTimeFromISO(dateobsStr, PS_TIME_UTC);
    1638         } else {
    1639             dateobs = NULL;
    1640         }
    1641     }
    1642 
    1643     psS16 code = psMetadataLookupS16(&status, config->args, "-code");
    1644     if (!status) {
    1645         psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -code");
    1646         return false;
    1647     }
    1648 
    1649     rawImfileRow *raw = rawImfileRowAlloc(
    1650         imfile->exp_id,
    1651         exp_name,
    1652         camera,
    1653         telescope,
    1654         dateobs,
    1655         tmp_class_id,
    1656         class_id,
    1657         imfile->uri,
    1658         exp_type,
    1659         filelevel,
    1660         filter,
    1661         comment,
    1662         airmass,
    1663         ra,
    1664         decl,
    1665         exp_time,
    1666         sat_pixel_frac,
    1667         bg,
    1668         bg_stdev,
    1669         bg_mean_stdev,
    1670         alt,
    1671         az,
    1672         ccd_temp,
    1673         posang,
    1674         m1_x,
    1675         m1_y,
    1676         m1_z,
    1677         m1_tip,
    1678         m1_tilt,
    1679         m2_x,
    1680         m2_y,
    1681         m2_z,
    1682         m2_tip,
    1683         m2_tilt,
    1684         env_temp,
    1685         env_humid,
    1686         env_wind,
    1687         env_dir,
    1688         teltemp_m1,
    1689         teltemp_m1cell,
    1690         teltemp_m2,
    1691         teltemp_spider,
    1692         teltemp_truss,
    1693         teltemp_extra,
    1694         pon_time,
    1695         user_1,
    1696         user_2,
    1697         user_3,
    1698         user_4,
    1699         user_5,
    1700         object,
    1701         code
    1702     );
    1703 
    1704     psFree(dateobs);
    1705 
    1706     return raw;
    1707 }
  • trunk/ippTools/src/regtoolConfig.c

    r15775 r15776  
    7373    psMetadataAddStr(addprocessedimfileArgs, PS_LIST_TAIL, "-class_id",  0,
    7474        "define class ID (required)", NULL);
     75    psMetadataAddStr(addprocessedimfileArgs, PS_LIST_TAIL, "-uri",  0,
     76        "define URI (required)", NULL);
    7577    psMetadataAddStr(addprocessedimfileArgs, PS_LIST_TAIL, "-exp_type",  0,
    7678        "define exposure type", NULL);
Note: See TracChangeset for help on using the changeset viewer.