Skip to content

Commit 0265233

Browse files
authored
Merge pull request #206 from mavlink/fix-201
Handle repeated non-primitive types in translate_from_rpc
2 parents e46f75d + b5a6b53 commit 0265233

File tree

6 files changed

+9
-5
lines changed

6 files changed

+9
-5
lines changed

mavsdk/generated/camera.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1386,7 +1386,7 @@ def translate_from_rpc(rpcSettingOptions):
13861386
rpcSettingOptions.setting_description,
13871387

13881388

1389-
Option.translate_from_rpc(rpcSettingOptions.options),
1389+
map(lambda elem: Option.translate_from_rpc(elem), rpcSettingOptions.options),
13901390

13911391

13921392
rpcSettingOptions.is_range

mavsdk/generated/geofence.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -164,7 +164,7 @@ def translate_from_rpc(rpcPolygon):
164164
""" Translates a gRPC struct to the SDK equivalent """
165165
return Polygon(
166166

167-
Point.translate_from_rpc(rpcPolygon.points),
167+
map(lambda elem: Point.translate_from_rpc(elem), rpcPolygon.points),
168168

169169

170170
Polygon.Type.translate_from_rpc(rpcPolygon.type)

mavsdk/generated/mission.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -322,7 +322,7 @@ def translate_from_rpc(rpcMissionPlan):
322322
""" Translates a gRPC struct to the SDK equivalent """
323323
return MissionPlan(
324324

325-
MissionItem.translate_from_rpc(rpcMissionPlan.mission_items)
325+
map(lambda elem: MissionItem.translate_from_rpc(elem), rpcMissionPlan.mission_items)
326326
)
327327

328328
def translate_to_rpc(self, rpcMissionPlan):

mavsdk/generated/offboard.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -227,7 +227,7 @@ def translate_from_rpc(rpcActuatorControl):
227227
""" Translates a gRPC struct to the SDK equivalent """
228228
return ActuatorControl(
229229

230-
ActuatorControlGroup.translate_from_rpc(rpcActuatorControl.groups)
230+
map(lambda elem: ActuatorControlGroup.translate_from_rpc(elem), rpcActuatorControl.groups)
231231
)
232232

233233
def translate_to_rpc(self, rpcActuatorControl):

mavsdk/generated/tune.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -242,7 +242,7 @@ def translate_from_rpc(rpcTuneDescription):
242242
""" Translates a gRPC struct to the SDK equivalent """
243243
return TuneDescription(
244244

245-
SongElement.translate_from_rpc(rpcTuneDescription.song_elements),
245+
map(lambda elem: SongElement.translate_from_rpc(elem), rpcTuneDescription.song_elements),
246246

247247

248248
rpcTuneDescription.tempo

other/templates/py/struct.j2

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,11 @@ class {{ name.upper_camel_case }}:
5555
{% if field.type_info.is_primitive %}
5656
rpc{{ name.upper_camel_case }}.{{ field.name.lower_snake_case }}{{ "," if not loop.last }}
5757
{% else %}
58+
{%- if field.type_info.is_repeated %}
59+
map(lambda elem: {{ field.type_info.inner_name }}.translate_from_rpc(elem), rpc{{ name.upper_camel_case }}.{{ field.name.lower_snake_case }}){{ "," if not loop.last }}
60+
{%- else %}
5861
{% if field.type_info.parent_type is not none %}{{ field.type_info.parent_type }}.{% endif %}{{ field.type_info.inner_name }}.translate_from_rpc(rpc{{ name.upper_camel_case }}.{{ field.name.lower_snake_case }}){{ "," if not loop.last }}
62+
{%- endif %}
5963
{% endif %}
6064
{%- endfor %})
6165

0 commit comments

Comments
 (0)