コード例 #1
0
ファイル: test_objects.py プロジェクト: Debilski/xdapy
    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
コード例 #2
0
ファイル: test_connection.py プロジェクト: Debilski/xdapy
    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));")
コード例 #3
0
ファイル: test_xml.py プロジェクト: Debilski/xdapy
    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)
コード例 #4
0
ファイル: test_entity.py プロジェクト: Debilski/xdapy
    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)
コード例 #5
0
ファイル: test_objects.py プロジェクト: Debilski/xdapy
    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"Юникод"]}
コード例 #6
0
ファイル: demo_filter_with.py プロジェクト: Debilski/xdapy
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
コード例 #7
0
ファイル: demo_xml.py プロジェクト: hdold/xdapy
# -*- 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",
コード例 #8
0
ファイル: test_objects.py プロジェクト: Debilski/xdapy
 def setUp(self):
     self.connection = Connection.test()
     self.connection.create_tables()
     self.m = Mapper(self.connection)
     self.m.register(Experiment)
コード例 #9
0
ファイル: test_all.py プロジェクト: Debilski/xdapy
    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)
コード例 #10
0
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)
コード例 #11
0
ファイル: test_relations.py プロジェクト: Debilski/xdapy
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)
コード例 #12
0
ファイル: demo_large_file.py プロジェクト: Debilski/xdapy
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()
コード例 #13
0
ファイル: test_entity.py プロジェクト: Debilski/xdapy
 def setUp(self):
     self.connection = Connection.test()
     self.connection.create_tables()
     self.m = Mapper(self.connection)
     self.m.register(NameEntityAutoId)
     self.m.register(NameEntity)
コード例 #14
0
ファイル: test_mapper.py プロジェクト: Debilski/xdapy
    def setUp(self):
        self.connection = Connection.test()
        self.connection.create_tables()
        self.m = Mapper(self.connection)

        self.m.register(Observer, Experiment, Trial, Session)
コード例 #15
0
ファイル: test_connection.py プロジェクト: Debilski/xdapy
 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.")
コード例 #16
0
ファイル: test_mapper.py プロジェクト: Debilski/xdapy
 def setUp(self):
     self.connection = Connection.test()
     self.connection.create_tables()
     self.m = Mapper(self.connection)
コード例 #17
0
ファイル: demo_merge.py プロジェクト: Debilski/xdapy
# -*- 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'
    }