Skip to content

Commit 9d0fef1

Browse files
authored
Cleaning up deserialization, models (#469)
* initial set of deserialize * updating more deserializing updates * cleaning up models * black & linting
1 parent 9a6193c commit 9d0fef1

File tree

4 files changed

+26
-12
lines changed

4 files changed

+26
-12
lines changed

libraries/botbuilder-core/botbuilder/core/teams/teams_activity_handler.py

Lines changed: 21 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -61,28 +61,34 @@ async def on_invoke_activity(self, turn_context: TurnContext):
6161

6262
if turn_context.activity.name == "fileConsent/invoke":
6363
return await self.on_teams_file_consent(
64-
turn_context, FileConsentCardResponse(**turn_context.activity.value)
64+
turn_context,
65+
FileConsentCardResponse().deserialize(turn_context.activity.value),
6566
)
6667

6768
if turn_context.activity.name == "actionableMessage/executeAction":
6869
await self.on_teams_o365_connector_card_action(
6970
turn_context,
70-
O365ConnectorCardActionQuery(**turn_context.activity.value),
71+
O365ConnectorCardActionQuery().deserialize(
72+
turn_context.activity.value
73+
),
7174
)
7275
return self._create_invoke_response()
7376

7477
if turn_context.activity.name == "composeExtension/queryLink":
7578
return self._create_invoke_response(
7679
await self.on_teams_app_based_link_query(
77-
turn_context, AppBasedLinkQuery(**turn_context.activity.value)
80+
turn_context,
81+
AppBasedLinkQuery().deserialize(turn_context.activity.value),
7882
)
7983
)
8084

8185
if turn_context.activity.name == "composeExtension/query":
8286
return self._create_invoke_response(
8387
await self.on_teams_messaging_extension_query(
8488
turn_context,
85-
MessagingExtensionQuery(**turn_context.activity.value),
89+
MessagingExtensionQuery().deserialize(
90+
turn_context.activity.value
91+
),
8692
)
8793
)
8894

@@ -113,7 +119,9 @@ async def on_invoke_activity(self, turn_context: TurnContext):
113119
return self._create_invoke_response(
114120
await self.on_teams_messaging_extension_configuration_query_settings_url(
115121
turn_context,
116-
MessagingExtensionQuery(**turn_context.activity.value),
122+
MessagingExtensionQuery().deserialize(
123+
turn_context.activity.value
124+
),
117125
)
118126
)
119127

@@ -132,14 +140,16 @@ async def on_invoke_activity(self, turn_context: TurnContext):
132140
if turn_context.activity.name == "task/fetch":
133141
return self._create_invoke_response(
134142
await self.on_teams_task_module_fetch(
135-
turn_context, TaskModuleRequest(**turn_context.activity.value)
143+
turn_context,
144+
TaskModuleRequest().deserialize(turn_context.activity.value),
136145
)
137146
)
138147

139148
if turn_context.activity.name == "task/submit":
140149
return self._create_invoke_response(
141150
await self.on_teams_task_module_submit(
142-
turn_context, TaskModuleRequest(**turn_context.activity.value)
151+
turn_context,
152+
TaskModuleRequest().deserialize(turn_context.activity.value),
143153
)
144154
)
145155

@@ -280,7 +290,9 @@ async def on_teams_task_module_submit( # pylint: disable=unused-argument
280290
async def on_conversation_update_activity(self, turn_context: TurnContext):
281291

282292
if turn_context.activity.channel_id == Channels.ms_teams:
283-
channel_data = TeamsChannelData(**turn_context.activity.channel_data)
293+
channel_data = TeamsChannelData().deserialize(
294+
turn_context.activity.channel_data
295+
)
284296
if turn_context.activity.members_added:
285297
return await self.on_teams_members_added_dispatch_activity(
286298
turn_context.activity.members_added, channel_data.team, turn_context
@@ -296,7 +308,7 @@ async def on_conversation_update_activity(self, turn_context: TurnContext):
296308
if channel_data:
297309
if channel_data.event_type == "channelCreated":
298310
return await self.on_teams_channel_created_activity(
299-
ChannelInfo(**channel_data.channel),
311+
ChannelInfo().deserialize(channel_data.channel),
300312
channel_data.team,
301313
turn_context,
302314
)

libraries/botbuilder-core/tests/teams/test_teams_activity_handler.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -510,6 +510,7 @@ async def test_on_app_based_link_query(self):
510510

511511
async def test_on_teams_messaging_extension_bot_message_preview_edit_activity(self):
512512
# Arrange
513+
513514
activity = Activity(
514515
type=ActivityTypes.invoke,
515516
name="composeExtension/submitAction",

libraries/botbuilder-schema/botbuilder/schema/teams/_models.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
# --------------------------------------------------------------------------
1111

1212
from msrest.serialization import Model
13+
from botbuilder.schema import Activity
1314

1415

1516
class AppBasedLinkQuery(Model):
@@ -1575,7 +1576,7 @@ def __init__(self, **kwargs):
15751576
super(TeamsChannelData, self).__init__(**kwargs)
15761577
self.channel = kwargs.get("channel", None)
15771578
# doing camel case here since that's how the data comes in
1578-
self.event_type = kwargs.get("eventType", None)
1579+
self.event_type = kwargs.get("event_type", None)
15791580
self.team = kwargs.get("team", None)
15801581
self.notification = kwargs.get("notification", None)
15811582
self.tenant = kwargs.get("tenant", None)

libraries/botbuilder-schema/botbuilder/schema/teams/_models_py3.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
# --------------------------------------------------------------------------
1111

1212
from msrest.serialization import Model
13-
from botbuilder.schema import Attachment, ChannelAccount
13+
from botbuilder.schema import Activity, Attachment, ChannelAccount
1414

1515

1616
class TaskModuleRequest(Model):
@@ -646,7 +646,7 @@ class MessagingExtensionAction(TaskModuleRequest):
646646
~botframework.connector.teams.models.enum
647647
:param bot_activity_preview:
648648
:type bot_activity_preview:
649-
list[~botframework.connector.teams.models.Activity]
649+
list[~botframework.schema.models.Activity]
650650
:param message_payload: Message content sent as part of the command
651651
request.
652652
:type message_payload:

0 commit comments

Comments
 (0)