Пример #1
0
def create():

    config = get_test_config()
    initdb(config['DB']['engine'])

    fixtures.load()

    conn = get_handle()
    xaction = Xaction()
    conn.add(xaction)
    conn.commit()
    typ1, typC = SampleType(name='patient'), SampleType(name='control')
    s1, s2 = Sample(sample_type=typ1), Sample(sample_type=typC)
    plate96_t = conn.query(ContainerType).filter(ContainerType.name=='Plate-96_well').one()
    plate = ContainerInst( name='my_plate', type=plate96_t )
    conn.add(plate)
    conn.commit()

    well1 = conn.query(Container).filter(Container.type == plate96_t).filter(Container.name == 'A01').one()
    well2 = conn.query(Container).filter(Container.type == plate96_t).filter(Container.name == 'A02').one()
    p1 = Plating( plate=plate, well=well1, sample=s1, xaction=xaction )
    p2 = Plating( plate=plate, well=well2, sample=s2, xaction=xaction )
    conn.add( p1 )
    conn.add( p2 )
    conn.commit()
    return plate
Пример #2
0
def get_dict(model_name, pk):
    print(22)
    model, obj = get_obj( model_name, pk )

    if model is None:
        return 'bad model', 404, None

    if obj is None:
        conn = get_handle()
        try:
            pks = [x.pk for x in conn.query(model)]
        except Exception as e:
            print(e)
        return 'bad pk %d; found %s' % (pk,pks), 404, None

    return json.dumps(obj.to_dict())
Пример #3
0
def get_obj( model_name, pk ):
    #config = get_test_config()
    #initdb(config['DB']['engine'])
    conn = get_handle()

    try:
        model = n6wells.db.__getattribute__(model_name)
    except AttributeError as e:
        return None, None

    try:
        obj = model.uniq_pk(pk)
    except NoResultFound:
        return model, None

    return model, obj
Пример #4
0
def get_plate(pk):
    print('@@ 1')
    try:
        create()
        print('@@ 2')

        model, obj = get_obj('ContainerInst', pk )
        print('@@ 3')

        if obj is None:
            conn = get_handle()
            try:
                pks = [x.pk for x in conn.query(model)]
            except Exception as e:
                print(e)
            return 'bad pk %d; found %s' % (pk,pks), 404, None
    except Exception as e:
        print('@@', e)

        return 'problem: %s' % e, 500, None

    return json.dumps(obj.to_dict(AssocClass=Plating))