Skip to content

Commit d3311e6

Browse files
committed
Do not support None context
1 parent a0f4c63 commit d3311e6

File tree

2 files changed

+18
-12
lines changed

2 files changed

+18
-12
lines changed

temporalio/converter.py

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,7 @@ class WithSerializationContext(ABC):
139139
during serialization and deserialization.
140140
"""
141141

142-
def with_context(self, context: Optional[SerializationContext]) -> Self:
142+
def with_context(self, context: SerializationContext) -> Self:
143143
"""Return a copy of this object configured to use the given context.
144144
145145
Args:
@@ -401,7 +401,7 @@ def from_payloads(
401401
) from err
402402
return values
403403

404-
def with_context(self, context: Optional[SerializationContext]) -> Self:
404+
def with_context(self, context: SerializationContext) -> Self:
405405
"""Return a new instance with the given context."""
406406
converters = [
407407
c.with_context(context) if isinstance(c, WithSerializationContext) else c
@@ -1313,12 +1313,13 @@ def _with_context(self, context: Optional[SerializationContext]) -> Self:
13131313
payload_converter = self.payload_converter
13141314
payload_codec = self.payload_codec
13151315
failure_converter = self.failure_converter
1316-
if isinstance(payload_converter, WithSerializationContext):
1317-
payload_converter = payload_converter.with_context(context)
1318-
if isinstance(payload_codec, WithSerializationContext):
1319-
payload_codec = payload_codec.with_context(context)
1320-
if isinstance(failure_converter, WithSerializationContext):
1321-
failure_converter = failure_converter.with_context(context)
1316+
if context:
1317+
if isinstance(payload_converter, WithSerializationContext):
1318+
payload_converter = payload_converter.with_context(context)
1319+
if isinstance(payload_codec, WithSerializationContext):
1320+
payload_codec = payload_codec.with_context(context)
1321+
if isinstance(failure_converter, WithSerializationContext):
1322+
failure_converter = failure_converter.with_context(context)
13221323
object.__setattr__(cloned, "payload_converter", payload_converter)
13231324
object.__setattr__(cloned, "payload_codec", payload_codec)
13241325
object.__setattr__(cloned, "failure_converter", failure_converter)

temporalio/worker/_workflow_instance.py

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2065,10 +2065,15 @@ def _converters(
20652065
"""Construct workflow payload and failure converters with the given context."""
20662066
payload_converter = self._payload_converter_class()
20672067
failure_converter = self._failure_converter_class()
2068-
if isinstance(payload_converter, temporalio.converter.WithSerializationContext):
2069-
payload_converter = payload_converter.with_context(context)
2070-
if isinstance(failure_converter, temporalio.converter.WithSerializationContext):
2071-
failure_converter = failure_converter.with_context(context)
2068+
if context:
2069+
if isinstance(
2070+
payload_converter, temporalio.converter.WithSerializationContext
2071+
):
2072+
payload_converter = payload_converter.with_context(context)
2073+
if isinstance(
2074+
failure_converter, temporalio.converter.WithSerializationContext
2075+
):
2076+
failure_converter = failure_converter.with_context(context)
20722077
return payload_converter, failure_converter
20732078

20742079
def _instantiate_workflow_object(self) -> Any:

0 commit comments

Comments
 (0)