Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 6 additions & 1 deletion scripts/gen_payload_visitor.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,11 @@ def emit_loop(
if not self.skip_headers:
for v in {iter_expr}:
await self._visit_{child_method}(fs, v)"""
elif field_name == "search_attributes":
return f"""\
if not self.skip_search_attributes:
for v in {iter_expr}:
await self._visit_{child_method}(fs, v)"""
else:
return f"""\
for v in {iter_expr}:
Expand Down Expand Up @@ -197,7 +202,7 @@ def walk(self, desc: Descriptor) -> bool:
# Process regular fields first
for field in regular_fields:
# Repeated fields (including maps which are represented as repeated messages)
if field.label == FieldDescriptor.LABEL_REPEATED:
if field.is_repeated:
if (
field.message_type is not None
and field.message_type.GetOptions().map_entry
Expand Down
15 changes: 9 additions & 6 deletions temporalio/bridge/_visitor.py
Original file line number Diff line number Diff line change
Expand Up @@ -320,8 +320,9 @@ async def _visit_coresdk_workflow_commands_ContinueAsNewWorkflowExecution(
if not self.skip_headers:
for v in o.headers.values():
await self._visit_temporal_api_common_v1_Payload(fs, v)
for v in o.search_attributes.values():
await self._visit_temporal_api_common_v1_Payload(fs, v)
if not self.skip_search_attributes:
for v in o.search_attributes.values():
await self._visit_temporal_api_common_v1_Payload(fs, v)

async def _visit_coresdk_workflow_commands_StartChildWorkflowExecution(self, fs, o):
await self._visit_payload_container(fs, o.input)
Expand All @@ -330,8 +331,9 @@ async def _visit_coresdk_workflow_commands_StartChildWorkflowExecution(self, fs,
await self._visit_temporal_api_common_v1_Payload(fs, v)
for v in o.memo.values():
await self._visit_temporal_api_common_v1_Payload(fs, v)
for v in o.search_attributes.values():
await self._visit_temporal_api_common_v1_Payload(fs, v)
if not self.skip_search_attributes:
for v in o.search_attributes.values():
await self._visit_temporal_api_common_v1_Payload(fs, v)

async def _visit_coresdk_workflow_commands_SignalExternalWorkflowExecution(
self, fs, o
Expand All @@ -350,8 +352,9 @@ async def _visit_coresdk_workflow_commands_ScheduleLocalActivity(self, fs, o):
async def _visit_coresdk_workflow_commands_UpsertWorkflowSearchAttributes(
self, fs, o
):
for v in o.search_attributes.values():
await self._visit_temporal_api_common_v1_Payload(fs, v)
if not self.skip_search_attributes:
for v in o.search_attributes.values():
await self._visit_temporal_api_common_v1_Payload(fs, v)

async def _visit_coresdk_workflow_commands_ModifyWorkflowProperties(self, fs, o):
if o.HasField("upserted_memo"):
Expand Down
Loading