diff options
author | Théo de la Hogue | 2024-02-20 14:56:59 +0100 |
---|---|---|
committer | Théo de la Hogue | 2024-02-20 14:56:59 +0100 |
commit | 5cc9ec620ff94287e7f622c927b5a928588e2a7a (patch) | |
tree | 0c3373dd18c20b5a1e85bbe6d9f0faddf1a9d94c | |
parent | 511f641239ee40f9fc142c9d2873298924e4bc41 (diff) | |
download | argaze-5cc9ec620ff94287e7f622c927b5a928588e2a7a.zip argaze-5cc9ec620ff94287e7f622c927b5a928588e2a7a.tar.gz argaze-5cc9ec620ff94287e7f622c927b5a928588e2a7a.tar.bz2 argaze-5cc9ec620ff94287e7f622c927b5a928588e2a7a.tar.xz |
Adding PrintCallStack decorator to help in debug process.
-rw-r--r-- | src/argaze/utils/UtilsFeatures.py | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/src/argaze/utils/UtilsFeatures.py b/src/argaze/utils/UtilsFeatures.py index da7565b..0a22aaf 100644 --- a/src/argaze/utils/UtilsFeatures.py +++ b/src/argaze/utils/UtilsFeatures.py @@ -10,6 +10,7 @@ __license__ = "BSD" from typing import Tuple import time import types +import traceback import numpy import cv2 @@ -261,4 +262,22 @@ class VideoWriter(): # Terminate the sub-process # Note: We don't have to terminate the sub-process (after process.wait(), the sub-process is supposed to be closed). - self.__process.terminate()
\ No newline at end of file + self.__process.terminate() + +def PrintCallStack(method): + """Define a decorator to print call stack until the decorated method.""" + + def wrapper(self, *args, **kwargs): + """Wrap method to print call stack before its call. + + Parameters: + args: method arguments. + kwargs: extra arguments. + """ + print(f'Call stack until method \'{method.__name__}\':', ) + + traceback.print_stack() + + return method(self, *args, **kwargs) + + return wrapper
\ No newline at end of file |