Revision 303338666230 () - Diff

Link to this snippet: https://friendpaste.com/4MnSHaRPkNU9RCtHkd4ggU
Embed:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
def service(**kwargs):
def wrapper(klass):
for name in ('get',):
meth = getattr(klass, name)
view_args = dict(kwargs, **getattr(meth, '__view_args__', {}))
print 'define route %s with %s' % (name, view_args)
return klass
return wrapper


def view(**kwargs):
def wrapper(func):
setattr(func, '__view_args__', kwargs)
return func
return wrapper


@service(path='/path')
class Service(object):

@view(permission='view')
def get(self):
return {}

-----------

% python test.py
define route get with {'path': '/path', 'permission': 'view'}