aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorThéo de la Hogue2024-02-19 12:14:41 +0100
committerThéo de la Hogue2024-02-19 12:14:41 +0100
commit8c18534f4e5d64d3b2477f6c7ecc1e6555a85be8 (patch)
treebdc10049189384c51813f4e59c7ed00eb2603d5e /src
parent5df381a6df3560d77797c50a7b6d6c8bc7da1f6c (diff)
downloadargaze-8c18534f4e5d64d3b2477f6c7ecc1e6555a85be8.zip
argaze-8c18534f4e5d64d3b2477f6c7ecc1e6555a85be8.tar.gz
argaze-8c18534f4e5d64d3b2477f6c7ecc1e6555a85be8.tar.bz2
argaze-8c18534f4e5d64d3b2477f6c7ecc1e6555a85be8.tar.xz
Adding unwrap argument to PipelineStepMethod.wrapper function in order to fix double logs when calling ArCamera.look method.
Diffstat (limited to 'src')
-rw-r--r--src/argaze/ArFeatures.py2
-rw-r--r--src/argaze/DataFeatures.py32
2 files changed, 27 insertions, 7 deletions
diff --git a/src/argaze/ArFeatures.py b/src/argaze/ArFeatures.py
index 43c017e..d08463b 100644
--- a/src/argaze/ArFeatures.py
+++ b/src/argaze/ArFeatures.py
@@ -1443,7 +1443,7 @@ class ArCamera(ArFrame):
"""
# Project gaze position into camera frame
- super().look(timestamp, gaze_position)
+ super().look(timestamp, gaze_position, unwrap=True)
# Use camera frame lock feature
with self._lock:
diff --git a/src/argaze/DataFeatures.py b/src/argaze/DataFeatures.py
index 7ac6a4b..62f81a6 100644
--- a/src/argaze/DataFeatures.py
+++ b/src/argaze/DataFeatures.py
@@ -395,15 +395,19 @@ class PipelineStepObject():
Define class to assess pipeline step methods execution time and observe them.
"""
- def __init__(self, name: str = None, observers: dict = None):
+ def __init__(self, name: str = None, working_directory: str = None, observers: dict = None):
"""Initialize PipelineStepObject
Parameters:
+ name: object name
+ working_directory: folder path to use for relative file path.
observers: dictionary with observers objects.
+
"""
# Init private attribute
self.__name = name
+ self.__working_directory = None
self.__observers = observers if observers is not None else {}
self.__execution_times = {}
self.__properties = {}
@@ -431,12 +435,17 @@ class PipelineStepObject():
@property
def name(self) -> str:
- """Get layer's name."""
+ """Get pipeline step object's name."""
return self.__name
@property
+ def working_directory(self) -> str:
+ """Get pipeline step object's working_directory."""
+ return self.__working_directory
+
+ @property
def parent(self) -> object:
- """Get layer's parent object."""
+ """Get pipeline step object's parent object."""
return self.__parent
@parent.setter
@@ -519,6 +528,7 @@ class PipelineStepObject():
# Create pipeline step object
return PipelineStepObject(\
new_name, \
+ working_directory, \
new_observers \
)
@@ -676,8 +686,18 @@ def PipelineStepMethod(method):
PipelineStepMethod must have a timestamp as first argument.
"""
- def wrapper(self, timestamp, *args, **kw):
- """Wrap pipeline step method to measure execution time."""
+ def wrapper(self, timestamp, *args, unwrap: bool = False):
+ """Wrap pipeline step method to measure execution time.
+
+ Parameters:
+ timestamp: PipelineStepMethod must define timestamp as first parameter.
+ args: Any arguments defined by PipelineStepMethod.
+ unwrap: Extra arguments used in wrapper function to call wrapped method directly.
+ """
+
+ if unwrap:
+
+ return method(self, timestamp, *args)
# Initialize execution time assessment
start = time.perf_counter()
@@ -687,7 +707,7 @@ def PipelineStepMethod(method):
try:
# Execute wrapped method
- result = method(self, timestamp, *args, **kw)
+ result = method(self, timestamp, *args)
except Exception as e: