def setUp(self): self.connection = Connection.test() self.connection.create_tables() self.m = Mapper(self.connection) self.m.register(Experiment) class GrandParent(Entity): declared_params = { "A1": "string", "A2": "string", "A3": "integer", "A4": "integer" } class Parent(Entity): declared_params = { "A1": "integer" } class Child(Entity): declared_params = { "A1": "string", "A4": "integer", "A5": "float", "A6": "float" } self.gparent = GrandParent(A1="GP", A2="GP", A3=300) self.parent = Parent(A1=100) self.child = Child(A1="C", A4=500, A5=0.5) self.child.parent = self.parent self.parent.parent = self.gparent
def setUp(self): # first we need to ensure that the test database is indeed emtpy self.connection = Connection.test() self.assertEqual(len(self.connection._table_names()), 0, msg="Test database was not emtpy prior testing.") # create a table result = self.connection.session.execute("CREATE TABLE test (dummy char(2));")
def setUp(self): """Create test database in memory""" self.connection = Connection.test() self.connection.create_tables() self.mapper = Mapper(self.connection) self.mapper.register(*objects)
def setUp(self): class MyTestEntity(Entity): declared_params = { "some_param": "string" } self.MyTestEntity = MyTestEntity self.connection = Connection.test() self.connection.create_tables() self.m = Mapper(self.connection) self.m.register(self.MyTestEntity)
def setUp(self): self.connection = Connection.test() self.connection.create_tables() self.m = Mapper(self.connection) self.m.register(Experiment) self.good_params = { "datetime": [datetime(2011, 1, 1, 12, 32, 11)], "time": [time(12, 32, 11)], "date": [date(2011, 1, 1)], "integer": [112, 20010213322], "float": [11.2, 200.10213322], "boolean": [True, False], "string": [u"Kleiner Text", u"äöü", u"Юникод"]}
from xdapy import Mapper, Connection, Entity connection = Connection.default() m = Mapper(connection) from objects import Experiment, Observer, Trial, Session m.register(Experiment, Observer, Trial, Session) print set(str(o.parent) for o in m.find_all("Session")) obs = m.find("Observer", {"name": "%Frank%"}).all() print obs[0].data import pdb pdb.set_trace() #print m.find_with("Session").parent(m.find("Observer", {"name": ["%Alex%", "%Frank%"]})).all() from xdapy.operators import gt, lt #trials = m.find_with("Trial", {"_id": lambda id: id*id < 300}).parent(m.find_with("Session", {"_id": lt(300)}).parent(m.find("Observer", {"name": "%Alex%"}))).all() trials = m.find_with("Trial", {"_id": lambda id: id*id < 300, "_parent": ("Session", {"_id": lt(300), "_parent": ("Observer", {"name": "%Alex%"})}), "_with": lambda entity: entity.id != 10}) # find_complex is more powerful but does not use SQLAlchemy
# -*- coding: utf-8 -*- from xml.etree import ElementTree as ET from xdapy.utils.decorators import autoappend from xdapy.io import XmlIO from xdapy import Connection, Mapper, Entity connection = Connection.profile("demo") # use standard profile # connection = Connection(dbname="xdapy") # drop the old database structure connection.create_tables() m = Mapper(connection) objects = [] @autoappend(objects) class Trial(Entity): declared_params = { "count": "string", "phase_of_signal_in_first_interval": "string", "reaction_time": "string", "noise_seed": "string", "phase_of_signal_in_second_interval": "string", "signal_interval": "string", "note": "string", "start": "string",
def setUp(self): self.connection = Connection.test() self.connection.create_tables() self.m = Mapper(self.connection) self.m.register(Experiment)
def setUp(self): self.connection = Connection.test() self.connection.create_tables() self.mapper = Mapper(self.connection) #register params self.mapper.register(Observer, Experiment, Session, Trial) #_register_parameter('Observer', 'name', 'string') #self.p._register_parameter('Observer', 'age', 'integer') #self.p._register_parameter('Observer', 'handedness', 'string') #self.p._register_parameter('Experiment', 'project', 'string') #self.p._register_parameter('Experiment', 'experimenter', 'string') #self.p._register_parameter('Session', 'date', 'string') #self.p._register_parameter('Trial', 'time', 'string') #self.p._register_parameter('Trial', 'rt', 'integer') #self.p._register_parameter('Trial', 'valid', 'integer') #self.p._register_parameter('Trial', 'response', 'string') #create hierarchy self.e1 = Experiment(project='MyProject', experimenter="John Doe") self.e2 = Experiment(project='YourProject', experimenter="Jeanne Done") self.o3 = Observer(name="Max Mustermann", handedness="right", age=26) self.o4 = Observer(name="Susanne Sorgenfrei", handedness='left', age=38) self.o5 = Observer(name="Susi Sorgen", handedness='left', age=40) self.s6 = Session(date='2009-08-20') self.s7 = Session(date='2009-09-21') self.s8 = Session(date='2009-09-22') self.s9 = Session(date='2009-09-23') self.s10 = Session(date='2009-09-24') self.t11 = Trial(rt=int(randint(100, 3000)), valid=True, response='left') self.t12 = Trial(rt=randint(100, 3000), valid=True, response='right') self.t13 = Trial(rt=randint(100, 3000), valid=True, response='left') self.t14 = Trial(rt=randint(100, 3000), valid=True, response='right') self.t15 = Trial(rt=randint(100, 3000), valid=True, response='left') self.t16 = Trial(rt=randint(100, 3000), valid=True, response='right') self.t17 = Trial(rt=randint(100, 3000), valid=True, response='left') self.t18 = Trial(rt=randint(100, 3000), valid=False, response='right') self.t19 = Trial(rt=randint(100, 3000), valid=False, response='left') self.t20 = Trial(rt=randint(100, 3000), valid=False, response='right') self.t21 = Trial(rt=randint(100, 3000), valid=False, response='left') self.t22 = Trial(rt=randint(100, 3000), valid=False, response='right') self.t23 = Trial(rt=randint(100, 3000), valid=False, response='left') self.t24 = Trial(rt=randint(100, 3000), valid=False, response='right') self.mapper.save(self.e1, self.e2, self.o3, self.o4, self.o5, self.s6, self.s7, self.s8, self.s9, self.s10, self.t11, self.t12, self.t13, self.t14, self.t15, self.t16, self.t17, self.t18, self.t19, self.t20, self.t21, self.t22, self.t23, self.t24) self.e1.children.append(self.o3) self.e1.children.append(self.o4) self.e2.children.append(self.o4) self.o3.children.append(self.s6) self.o3.children.append(self.s7) self.o4.children.append(self.s8)#, self.e1) # TODO: Children can be saved twice #self.o4.children.append(self.s8)#, self.e2) self.o4.children.append(self.s9)#, self.e2) self.o4.children.append(self.s10)#, self.e2) self.s6.children.append(self.t11) self.s6.children.append(self.t12) self.s7.children.append(self.t13) self.s7.children.append(self.t14) #self.s8.children.append(self.t15, self.e1) #self.s8.children.append(self.t16, self.e1) #self.s8.children.append(self.t17, self.e2) self.s9.children.append(self.t18) self.s9.children.append(self.t19) self.s9.children.append(self.t20) self.s10.children.append(self.t21) self.s10.children.append(self.t22) self.s10.children.append(self.t23) self.s10.children.append(self.t24) self.mapper.save(self.e1, self.e2, self.o3, self.o4, self.o5, self.s6, self.s7, self.s8, self.s9, self.s10, self.t11, self.t12, self.t13, self.t14, self.t15, self.t16, self.t17, self.t18, self.t19, self.t20, self.t21, self.t22, self.t23, self.t24)
from xdapy import Mapper, Connection, Entity connection = Connection.profile("demo") connection.create_tables() m = Mapper(connection) from objects import Experiment, Observer, Trial, Session m.register(Experiment, Observer, Trial, Session) o1 = Observer(name="A") o2 = Observer(name="B") e1 = Experiment(project="E1", experimenter="X1") e2 = Experiment(project="E2", experimenter="X1") e3 = Experiment(project="E3") t1 = Trial(count=1) t2 = Trial(count=2) t3 = Trial(count=3) t4 = Trial(count=4) s1_1 = Session(count=1) s1_2 = Session(count=1) s2_1 = Session(count=1) s2_2 = Session(count=1) s3_1 = Session(count=1) s4_1 = Session(count=1) m.save(o1, o2, e1, e2, e3, t1, t2, t3, t4, s1_1, s1_2, s2_1, s2_2, s3_1, s4_1)
trial1_2 = Trial() trial1_2.parent = sess1 trial2_1 = Trial() trial2_1.parent = sess2 trial2_2 = Trial() trial2_2.parent = sess2 trial3_1 = Trial() trial3_1.parent = sess3 trial3_2 = Trial() trial3_2.parent = sess3 db = Connection.test() db.create_tables() m = Mapper(db) m.register(Observer, Experiment, Trial) m.save(exp_monorail, exp_neptune) eeee = Experiment() oooo = Observer() eeee.attach("Obs", oooo) exp_monorail.attach("Observer", obs_1) exp_monorail.attach("Observer", obs_2) exp_neptune.attach("Observer", obs_1)
from xdapy import Mapper, Connection, Entity class E(Entity): declared_params = {} connection = Connection.profile("demo")#, echo=True) # use standard profile connection.create_tables()#overwrite=True) m = Mapper(connection) m.register(E) f = open("10M.dat") #f = open("100M.dat") #f = open("1G.dat") e = E() m.save(e) import pdb e.data["100M"].mimetype = "a" e.data["100M"].put("f") print e.data["100M"].get_string() #e.data["100M"].put(f) print e.data["100M"].mimetype print "CHUNKS" print e.data["100M"].chunks() print e.data["100M"].chunk_ids()
def setUp(self): self.connection = Connection.test() self.connection.create_tables() self.m = Mapper(self.connection) self.m.register(NameEntityAutoId) self.m.register(NameEntity)
def setUp(self): self.connection = Connection.test() self.connection.create_tables() self.m = Mapper(self.connection) self.m.register(Observer, Experiment, Trial, Session)
def setUp(self): # first we need to ensure that the test database is indeed emtpy self.connection = Connection.test() self.assertEqual(len(self.connection._table_names()), 0, msg="Test database was not emtpy prior testing.")
def setUp(self): self.connection = Connection.test() self.connection.create_tables() self.m = Mapper(self.connection)
# -*- coding: utf-8 -*- from xdapy import Connection, Mapper, Entity connection = Connection.profile("demo") # use standard profile connection_2 = Connection.default() # use standard profile # drop the old database structure connection.create_tables() connection_2.create_tables() m = Mapper(connection) m_2 = Mapper(connection_2) # from objects import Experiment, ... class Experiment(Entity): """Concrete class for experiments""" declared_params = { 'experimenter': 'string', 'project': 'string' } Experiment_nodate = Experiment class Experiment(Entity): """Concrete class for experiments""" declared_params = { 'experimenter': 'string', 'project': 'string', 'date': 'date' }