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
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())
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
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))