Skip to content

Commit 95cf6dc

Browse files
committed
fix(spans): fixing mypy errors
1 parent a613168 commit 95cf6dc

File tree

4 files changed

+10
-8
lines changed

4 files changed

+10
-8
lines changed

sentry_sdk/_types.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@
2222
from typing import Union
2323
from typing_extensions import Literal, TypedDict
2424

25+
from sentry_sdk.utils import Annotated
26+
2527
class SDKInfo(TypedDict):
2628
name: str
2729
version: str
@@ -101,7 +103,7 @@ class SDKInfo(TypedDict):
101103
"request": dict[str, object],
102104
"sdk": Mapping[str, object],
103105
"server_name": str,
104-
"spans": list[dict[str, object]],
106+
"spans": Annotated[list[dict[str, object]]],
105107
"stacktrace": dict[
106108
str, object
107109
], # We access this key in the code, but I am unsure whether we ever set it

sentry_sdk/client.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -491,7 +491,7 @@ def _prepare_event(
491491

492492
if scope is not None:
493493
is_transaction = event.get("type") == "transaction"
494-
spans_before = len(event.get("spans", []))
494+
spans_before = len(cast(list[dict[str, object]], event.get("spans", [])))
495495
event_ = scope.apply_to_event(event, hint, self.options)
496496

497497
# one of the event/error processors returned None
@@ -510,7 +510,7 @@ def _prepare_event(
510510
return None
511511

512512
event = event_
513-
spans_delta = spans_before - len(event.get("spans", []))
513+
spans_delta = spans_before - len(cast(list[dict[str, object]], event.get("spans", [])))
514514
if is_transaction and spans_delta > 0 and self.transport is not None:
515515
self.transport.record_lost_event(
516516
"event_processor", data_category="span", quantity=spans_delta
@@ -609,7 +609,7 @@ def _prepare_event(
609609
and event.get("type") == "transaction"
610610
):
611611
new_event = None
612-
spans_before = len(event.get("spans", []))
612+
spans_before = len(cast(list[dict[str, object]], event.get("spans", [])))
613613
with capture_internal_exceptions():
614614
new_event = before_send_transaction(event, hint or {})
615615
if new_event is None:

sentry_sdk/scrubber.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
iter_event_frames,
55
)
66

7-
from typing import TYPE_CHECKING
7+
from typing import TYPE_CHECKING, cast
88

99
if TYPE_CHECKING:
1010
from sentry_sdk._types import Event
@@ -161,7 +161,7 @@ def scrub_spans(self, event):
161161
# type: (Event) -> None
162162
with capture_internal_exceptions():
163163
if "spans" in event:
164-
for span in event["spans"]:
164+
for span in cast(list[dict[str, object]], event["spans"]):
165165
if "data" in span:
166166
self.scrub_dict(span["data"])
167167

sentry_sdk/transport.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
from sentry_sdk.worker import BackgroundWorker
2525
from sentry_sdk.envelope import Envelope, Item, PayloadRef
2626

27-
from typing import TYPE_CHECKING
27+
from typing import TYPE_CHECKING, cast
2828

2929
if TYPE_CHECKING:
3030
from typing import Any
@@ -280,7 +280,7 @@ def record_lost_event(
280280
event = item.get_transaction_event() or {}
281281

282282
# +1 for the transaction itself
283-
span_count = len(event.get("spans") or []) + 1
283+
span_count = len(cast(list[dict[str, object]], event.get("spans") or [])) + 1
284284
self.record_lost_event(reason, "span", quantity=span_count)
285285

286286
elif data_category == "attachment":

0 commit comments

Comments
 (0)