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