1f50bf8a60731c793fb49e62dc1d105a93a42b2e
[kiosk.git] / decorators.py
1 from datetime import datetime
2 import functools
3
4
5 def invokation_logged(func):
6     @functools.wraps(func)
7     def wrapper(*args, **kwargs):
8         now = datetime.now()
9         timestamp = now.strftime("%d-%b-%Y (%H:%M:%S.%f)")
10         print("%s(%s): Entered function" % (func.__name__, timestamp))
11         ret = func(*args, **kwargs)
12         now = datetime.now()
13         timestamp = now.strftime("%d-%b-%Y (%H:%M:%S.%f)")
14         print("%s(%s): Exited function" % (func.__name__, timestamp))
15         return ret
16
17     return wrapper
18
19
20 # Test
21 # @invokation_logged
22 # def f(x):
23 #    print(x * x)
24 #    return x * x
25 #
26 # q = f(10)
27 # print(q)