cython
1# ticket: t336
2
3__doc__ = u"""
4>>> print('\\n'.join(calls))
5Py-Honk PyTestClass
6PyTestClass
7Py-Hello PyTestClass
8PyTestClass
9Py-Done PyTestClass
10
11>>> c = PyTestClass()
12Ho, Ho, Ho!
13"""
14
15calls = []
16
17class print_msg(object):
18def __init__(self, message):
19self.msg = message
20def __call__(self, c):
21calls.append( self.msg + c.__name__ )
22return c
23
24def print_name(c):
25calls.append( c.__name__ )
26return c
27
28@print_msg(u"Py-Done ")
29@print_name
30@print_msg(u"Py-Hello ")
31@print_name
32@print_msg(u"Py-Honk ")
33class PyTestClass(object):
34def __init__(self):
35print u"Ho, Ho, Ho!"
36
37# not currently working:
38#
39## @print_msg("Cy-Done ")
40## @print_name
41## @print_msg("Cy-Hello ")
42## @print_name
43## @print_msg("Cy-Honk ")
44## cdef class CyTestClass(object):
45## def __init__(self):
46## print u"Ho, Ho, Ho!"
47