9995bd67ecae0479fdd3c2353eb0da05e5766b7a
[kiosk.git] / decorators.py
1 #!/usr/bin/env python3
2
3 from datetime import datetime
4 import functools
5 import logging
6
7
8 logger = logging.getLogger(__file__)
9
10
11 def invocation_logged(func):
12     @functools.wraps(func)
13     def wrapper(*args, **kwargs):
14         logger.debug(f'Entered {func.__qualname__}')
15         ret = func(*args, **kwargs)
16         logger.debug(f'Exited {func.__qualname__}')
17         return ret
18
19     return wrapper
20
21
22 # Test
23 # @invocation_logged
24 # def f(x):
25 #    print(x * x)
26 #    return x * x
27 #
28 # q = f(10)
29 # print(q)