IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 8050


Ignore:
Timestamp:
Aug 1, 2006, 4:29:28 PM (20 years ago)
Author:
jhoblitt
Message:

make -uri a mandatory option to -done
use -uri from CLI instead of recycling (incorrectly) the p2PendingImfile's URI

Location:
trunk/ippTools/src
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/ippTools/src/chiptool.c

    r8045 r8050  
    1212static bool pendingMode(pxConfig *config);
    1313static bool doneMode(pxConfig *config);
     14static p2DoneImfileRow *p2pendingToDoneImfile(pxConfig *config, p2PendingImfileRow *imfile);
    1415
    1516# define MODECASE(caseName, func) \
     
    171172        return false;
    172173    }
     174
    173175    // insert into done
    174     psArray *doneImfiles = p2pendingToDoneImfile(pendingImfiles);
    175     for (int i = 0; i < doneImfiles->n; i++) {
    176         if (!p2DoneImfileInsertObject(config->dbh, doneImfiles->data[i])) {
     176    for (long i = 0; i < psArrayLength(pendingImfiles); i++) {
     177        p2DoneImfileRow *imfile = p2pendingToDoneImfile(config, pendingImfiles->data[0]);
     178        if (!imfile) {
     179            psError(PS_ERR_UNKNOWN, false, "failed to convert p2PendingImfile to p2DoneImfile");
     180            psFree(pendingImfiles);
     181            return false;
     182        }
     183        if (!p2DoneImfileInsertObject(config->dbh, imfile)) {
    177184            psError(PS_ERR_UNKNOWN, false, "dbh access failed");
     185            psFree(imfile);
     186            psFree(pendingImfiles);
    178187            return false;
    179188        }
    180     }
     189        psFree(imfile);
     190    }
     191
    181192    // delete from pending
    182193    if (p2PendingImfileDeleteRowObjects(config->dbh, pendingImfiles, MAX_ROWS) < 0) {
     
    244255
    245256// XXX the filename layout is defined by this code
    246 psArray *p2pendingToDoneImfile(psArray *pendingImfiles)
    247 {
    248     PS_ASSERT_PTR_NON_NULL(pendingImfiles, NULL);
    249 
    250     psArray *doneImfiles = psArrayAlloc(pendingImfiles->n);
    251     doneImfiles->n = 0;
    252 
    253     for (int i = 0; i < pendingImfiles->n; i++) {
    254         p2PendingImfileRow *pendingImfile = pendingImfiles->data[i];
    255 
    256         p2DoneImfileRow *doneImfile = p2DoneImfileRowAlloc(
    257             pendingImfile->exp_id,
    258             pendingImfile->class_id,
    259             pendingImfile->uri,
    260             "my recipe", // recipe
    261             "my stats", // stats
    262             pendingImfile->p1_version,
    263             pendingImfile->p2_version
    264         );
    265 
    266         psArrayAdd(doneImfiles, 100, doneImfile);
    267     }
    268 
    269     return doneImfiles;
    270 }
     257static p2DoneImfileRow *p2pendingToDoneImfile(pxConfig *config, p2PendingImfileRow *imfile)
     258{
     259    PS_ASSERT_PTR_NON_NULL(config, NULL);
     260    PS_ASSERT_PTR_NON_NULL(imfile, NULL);
     261
     262    bool status = false;
     263    psString uri = psMetadataLookupStr(&status, config->args, "-uri");
     264    if (!status) {
     265        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -uri");
     266        return NULL;
     267    }
     268    if (!uri) {
     269        psError(PS_ERR_UNKNOWN, true, "-uri is required");
     270        return NULL;
     271    }
     272
     273    return p2DoneImfileRowAlloc(
     274        imfile->exp_id,
     275        imfile->class_id,
     276        uri,
     277        "my recipe", // recipe
     278        "my stats", // stats
     279        imfile->p1_version,
     280        imfile->p2_version
     281    );
     282}
  • trunk/ippTools/src/chiptoolConfig.c

    r7863 r8050  
    3737    // -done
    3838    psMetadata *doneArgs = psMetadataAlloc();
     39    psMetadataAddStr(doneArgs, PS_LIST_TAIL, "-exp_id",  0,
     40            "define exp_id (required)", NULL);
     41    psMetadataAddStr(doneArgs, PS_LIST_TAIL, "-class_id",  0, "define class ID", NULL);
     42    psMetadataAddStr(doneArgs, PS_LIST_TAIL, "-uri",  0,
     43            "define URL", NULL);
    3944
    4045#define PXTOOL_MODE(option, modeval, argset) \
Note: See TracChangeset for help on using the changeset viewer.