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
Branches
Tags
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