equal
deleted
inserted
replaced
|
1 from twisted.internet import defer |
1 from inspect import getcallargs |
2 from inspect import getcallargs |
2 from decorator import decorator |
3 from decorator import decorator |
3 |
4 |
4 from .schema import User |
5 from .schema import User |
5 from .dbdefer import dbdefer |
6 from .dbdefer import dbdefer |
6 |
7 |
7 from ..validate import validate, vHash |
8 from ..validate import validate, vHash |
8 from ..error import UserNotFound, InterfaceException |
9 from ..error import UserNotFound, InterfaceException |
9 |
10 |
10 |
11 |
|
12 @validate(kwd="apikey", func=vHash, minlength=15, maxlength=15) |
11 @dbdefer |
13 @dbdefer |
12 @validate(kwd="apikey", func=vHash, minlength=15, maxlength=15) |
|
13 def getuser(apikey, session): |
14 def getuser(apikey, session): |
14 user = session.query(User).filter_by(apikey=apikey).first() |
15 user = session.query(User).filter_by(apikey=apikey).first() |
15 if user is None: |
16 if user is None: |
16 raise UserNotFound() |
17 raise UserNotFound() |
17 else: |
18 else: |
25 except KeyError: |
26 except KeyError: |
26 raise InterfaceException() |
27 raise InterfaceException() |
27 |
28 |
28 def _gotResult(_user): |
29 def _gotResult(_user): |
29 kp["user"]=_user |
30 kp["user"]=_user |
30 return f(**kp) |
31 e = defer.maybeDeferred(f,**kp) |
31 |
32 return e |
32 d=getuser(apikey=apikey) |
33 d = defer.maybeDeferred(getuser, apikey=apikey) |
33 return d.addCallback(_gotResult) |
34 return d.addCallback(_gotResult) |
34 |
35 |
35 |
36 |