Skip to content

Commit 5b5b7bb

Browse files
committed
fix(typing): resolve ty diagnostics in logging and metrics modules
- logging/buffer/functions.py: add guard clause for None values from dict.get() before comparison - metrics/base.py: add cast for functools.wraps union type, add set_default_dimensions stub to base class Resolves 3 of 10 diagnostics from #7929
1 parent 9dca23c commit 5b5b7bb

File tree

2 files changed

+9
-2
lines changed

2 files changed

+9
-2
lines changed

aws_lambda_powertools/logging/buffer/functions.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,9 @@ def _check_minimum_buffer_log_level(buffer_log_level, current_log_level):
121121
buffer_level_num = log_levels.get(buffer_log_level.upper())
122122
current_level_num = log_levels.get(current_log_level.upper())
123123

124+
if buffer_level_num is None or current_level_num is None:
125+
return False
126+
124127
# Compare numeric levels
125128
if buffer_level_num < current_level_num:
126129
return True

aws_lambda_powertools/metrics/base.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
import warnings
1616
from collections import defaultdict
1717
from contextlib import contextmanager
18-
from typing import TYPE_CHECKING, Any
18+
from typing import TYPE_CHECKING, Any, cast
1919

2020
from aws_lambda_powertools.metrics.exceptions import (
2121
MetricResolutionError,
@@ -375,6 +375,10 @@ def flush_metrics(self, raise_on_empty_metrics: bool = False) -> None:
375375
print(json.dumps(metrics, separators=(",", ":")))
376376
self.clear_metrics()
377377

378+
def set_default_dimensions(self, **dimensions: str) -> None:
379+
"""Persist dimensions across Lambda invocations. Override in subclass."""
380+
pass
381+
378382
def log_metrics(
379383
self,
380384
lambda_handler: Callable[[dict, Any], Any] | Callable[[dict, Any, dict | None], Any] | None = None,
@@ -428,7 +432,7 @@ def handler(event, context):
428432
default_dimensions=default_dimensions,
429433
)
430434

431-
@functools.wraps(lambda_handler)
435+
@functools.wraps(cast("Callable[..., Any]", lambda_handler))
432436
def decorate(event, context, *args, **kwargs):
433437
unwrapped_context = context.lambda_context if is_durable_context(context) else context
434438
try:

0 commit comments

Comments
 (0)