Skip to content

Commit 7cb1ca0

Browse files
committed
Snapshot hooks: remove usage of hook_name in register method
Replaces `lambda` with `functools.wraps` in `CallbackRegistrar`, making `hook_name` argument in `SnapshotCorrelationHookContainer.register` redundant.
1 parent 9e5534e commit 7cb1ca0

3 files changed

Lines changed: 9 additions & 15 deletions

File tree

dp3/common/callback_registrar.py

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import logging
2-
from functools import partial
2+
from functools import partial, wraps
33
from logging import Logger
44
from typing import Callable, Union
55

@@ -13,7 +13,6 @@
1313
from dp3.common.state import SharedFlag
1414
from dp3.common.task import DataPointTask
1515
from dp3.common.types import ParsedTimedelta
16-
from dp3.common.utils import get_func_name
1716
from dp3.core.updater import Updater
1817
from dp3.snapshots.snapshooter import SnapShooter
1918
from dp3.task_processing.task_executor import TaskExecutor
@@ -369,10 +368,14 @@ def register_correlation_hook(
369368
Raises:
370369
ValueError: On failure of specification validation.
371370
"""
371+
372372
# Ignore master record for this variant of the hook
373-
hook_name = get_func_name(hook)
373+
@wraps(hook)
374+
def wrapped_hook(e: str, s: dict, _m: dict):
375+
return hook(e, s)
376+
374377
self._snap_shooter.register_correlation_hook(
375-
lambda e, s, _m: hook(e, s), entity_type, depends_on, may_change, hook_name=hook_name
378+
wrapped_hook, entity_type, depends_on, may_change
376379
)
377380

378381
def register_correlation_hook_with_master_record(

dp3/snapshots/snapshooter.py

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -189,7 +189,6 @@ def register_correlation_hook(
189189
entity_type: str,
190190
depends_on: list[list[str]],
191191
may_change: list[list[str]],
192-
hook_name: Optional[str] = None,
193192
):
194193
"""
195194
Registers passed hook to be called during snapshot creation.
@@ -211,15 +210,11 @@ def register_correlation_hook(
211210
(even on linked entities).
212211
may_change: each item should specify an attribute that `hook` may change.
213212
specification format is identical to `depends_on`.
214-
hook_name: Optional custom name for the hook, used for logging purposes. If not
215-
provided, the function name of `hook` will be used.
216213
217214
Raises:
218215
ValueError: On failure of specification validation.
219216
"""
220-
self._correlation_hooks.register(
221-
hook, entity_type, depends_on, may_change, hook_name=hook_name
222-
)
217+
self._correlation_hooks.register(hook, entity_type, depends_on, may_change)
223218

224219
def register_run_init_hook(self, hook: Callable[[], list[DataPointTask]]):
225220
"""

dp3/snapshots/snapshot_hooks.py

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,6 @@ def register(
8888
entity_type: str,
8989
depends_on: list[list[str]],
9090
may_change: list[list[str]],
91-
hook_name: Union[None, str] = None,
9291
) -> str:
9392
"""
9493
Registers passed hook to be called during snapshot creation.
@@ -108,8 +107,6 @@ def register(
108107
(even on linked entities).
109108
may_change: each item should specify an attribute that `hook` may change.
110109
specification format is identical to `depends_on`.
111-
hook_name: Optional custom name for the hook, used for logging purposes. If not
112-
provided, the function name of `hook` will be used.
113110
Returns:
114111
Generated hook id.
115112
"""
@@ -124,8 +121,7 @@ def register(
124121
may_change = self._get_attr_path_destinations(entity_type, may_change)
125122

126123
hook_args = f"({entity_type}, [{','.join(depends_on)}], [{','.join(may_change)}])"
127-
hook_name = hook_name if hook_name is not None else get_func_name(hook)
128-
hook_id = f"{hook_name}{hook_args}"
124+
hook_id = f"{get_func_name(hook)}{hook_args}"
129125
self._short_hook_ids[hook_id] = hook_args
130126
self._dependency_graph.add_hook_dependency(hook_id, depends_on, may_change)
131127

0 commit comments

Comments
 (0)