Skip to content
Snippets Groups Projects
Commit 8ec9b05f authored by leufen1's avatar leufen1
Browse files

TrackParameter wraps now entire method to get the return value

parent 2867cae7
No related branches found
No related tags found
5 merge requests!319add all changes of dev into release v1.4.0 branch,!318Resolve "release v1.4.0",!299Draft: Merge default data handler and preprocessing support parameter use_multiprocessing....,!292Resolve "improve datastore logging",!259Draft: Resolve "WRF-Datahandler should inherit from SingleStationDatahandler"
Pipeline #65782 failed
......@@ -111,8 +111,15 @@ class TrackParameter:
"""
Call method of decorator.
"""
self.track(*args)
return self.__wrapped__(*args, **kwargs)
name, obj, scope = self.track(*args)
f_name = self.__wrapped__.__name__
try:
res = self.__wrapped__(*args, **kwargs)
logging.debug(f"{f_name}: {name}({scope})={res if obj is None else obj}")
except Exception as e:
logging.debug(f"{f_name}: {name}({scope})={obj}")
raise
return res
def __get__(self, instance, cls):
"""Create bound method object and supply self argument to the decorated method. <Python Cookbook, p.347>"""
......@@ -127,6 +134,7 @@ class TrackParameter:
tracker[name].append(new_entry)
else:
tracker[name] = [new_entry]
return name, obj, scope
@staticmethod
def _decrypt_args(*args):
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment