# HG changeset patch # User Sandro Knauß # Date 1327272807 -3600 # Node ID cadc01b2bdc0586933e768efc3ef71d6c3019bf4 # Parent f11520354165522998ae8fb9e3622cf736735bba model.user uses now the decorator DBDefer diff -r f11520354165 -r cadc01b2bdc0 fabfile.py --- a/fabfile.py Sun Jan 22 23:29:18 2012 +0100 +++ b/fabfile.py Sun Jan 22 23:53:27 2012 +0100 @@ -26,6 +26,7 @@ put("dist/iro-%s.tar.gz"%__version__,"%s/dist/"%env.directory) put("%(directory)s/dist/ngmodules-%(version)s-py2.7.egg"%ngmodules,"%s/dist/"%env.directory) virtualenv("easy_install %s/dist/ngmodules-%s-py2.7.egg"%(env.directory,ngmodules["version"])) + virtualenv("pip uninstall iro") virtualenv("pip install %s/dist/iro-%s.tar.gz"%(env.directory,__version__)) diff -r f11520354165 -r cadc01b2bdc0 iro/model/user.py --- a/iro/model/user.py Sun Jan 22 23:29:18 2012 +0100 +++ b/iro/model/user.py Sun Jan 22 23:53:27 2012 +0100 @@ -1,9 +1,18 @@ from inspect import getcallargs from .schema import User +from .utils import DBDefer from ..validate import vuserhash, validate from ..error import UserNotFound, InterfaceException + +dbdefer=DBDefer(None) + +def setEngine(engine,autocommit=False): + dbdefer.engine = engine + dbdefer.autocommit = autocommit + +@dbdefer @validate(userhash=vuserhash) def getuser(userhash, session): user = session.query(User).filter_by(apikey=userhash).first() diff -r f11520354165 -r cadc01b2bdc0 tests/xmlrpc.py --- a/tests/xmlrpc.py Sun Jan 22 23:29:18 2012 +0100 +++ b/tests/xmlrpc.py Sun Jan 22 23:53:27 2012 +0100 @@ -4,7 +4,7 @@ from tempfile import mkdtemp import shutil -from iro.model.utils import WithSession, DBDefer, POOL_SIZE as DB_POOL_SIZE +from iro.model.utils import WithSession, POOL_SIZE as DB_POOL_SIZE import iro.model.user as imuser from iro.model.schema import User, Base @@ -55,20 +55,12 @@ d.create() engine = create_engine('mysql://test:test@localhost/test?unix_socket=%s/socket'%tdir, poolclass = pool.SingletonThreadPool, pool_size=DB_POOL_SIZE, ) - dbdefer = DBDefer(engine) - withsession=WithSession(engine, autocommit=True) - @dbdefer - def getuser(userhash, session): - #session.execute("SELECT SLEEP(10)") - return imuser._getuser(userhash = userhash, session=session) - - imuser.dbdefer=dbdefer - imuser._getuser=imuser.getuser - imuser.getuser=getuser + + imuser.setEngine(engine) try: Base.metadata.create_all(engine) - with withsession as session: + with WithSession(engine, autocommit=True) as session: session.add(User(name='test',apikey='abcdef123456789')) p = Process(target=main) p.start()