def _get_datasets(dataset_ids):
    """
        Get all the datasets in a list of dataset IDS. This must be done in chunks of 999,
        as sqlite can only handle 'in' with < 1000 elements.
    """

    dataset_dict = {}

    datasets = []
    if len(dataset_ids) > qry_in_threshold:
        idx = 0
        extent =qry_in_threshold
        while idx < len(dataset_ids):
            log.info("Querying %s datasets", len(dataset_ids[idx:extent]))
            rs = db.DBSession.query(Dataset).filter(Dataset.id.in_(dataset_ids[idx:extent])).all()
            datasets.extend(rs)
            idx = idx + qry_in_threshold

            if idx + qry_in_threshold > len(dataset_ids):
                extent = len(dataset_ids)
            else:
                extent = extent + qry_in_threshold
    else:
        datasets = db.DBSession.query(Dataset).filter(Dataset.id.in_(dataset_ids))


    for r in datasets:
        dataset_dict[r.id] = r

    log.info("Retrieved %s datasets", len(dataset_dict))

    return dataset_dict
def _get_datasets ( dataset_ids ) : dataset_dict = { } datasets = [ ] if len ( dataset_ids ) > qry_in_threshold : idx = 0 extent = qry_in_threshold while idx < len ( dataset_ids ) : log . info ( "Querying %s datasets" , len ( dataset_ids [ idx : extent ] ) ) rs = db . DBSession . query ( Dataset ) . filter ( Dataset . id . in_ ( dataset_ids [ idx : extent ] ) ) . all ( ) datasets . extend ( rs ) idx = idx + qry_in_threshold if idx + qry_in_threshold > len ( dataset_ids ) : extent = len ( dataset_ids ) else : extent = extent + qry_in_threshold else : datasets = db . DBSession . query ( Dataset ) . filter ( Dataset . id . in_ ( dataset_ids ) ) for r in datasets : dataset_dict [ r . id ] = r log . info ( "Retrieved %s datasets" , len ( dataset_dict ) ) return dataset_dict
Get all the datasets in a list of dataset IDS. This must be done in chunks of 999,
        as sqlite can only handle 'in' with < 1000 elements.