Skip to content

Commit cbbc76d

Browse files
authored
Merge branch 'master' into pytest_36
2 parents 5000dc8 + 9a5e20a commit cbbc76d

File tree

1 file changed

+13
-26
lines changed

1 file changed

+13
-26
lines changed

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

Lines changed: 13 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -10,41 +10,28 @@
1010
import botbuilder.schema as schema
1111
import botbuilder.schema.teams as teams_schema
1212

13-
# Optimization: The dependencies dictionary could be cached here,
14-
# and shared between the two methods.
13+
DEPENDICIES = [
14+
schema_cls
15+
for key, schema_cls in getmembers(schema)
16+
if isinstance(schema_cls, type) and issubclass(schema_cls, (Model, Enum))
17+
]
18+
DEPENDICIES += [
19+
schema_cls
20+
for key, schema_cls in getmembers(teams_schema)
21+
if isinstance(schema_cls, type) and issubclass(schema_cls, (Model, Enum))
22+
]
23+
DEPENDICIES_DICT = {dependency.__name__: dependency for dependency in DEPENDICIES}
1524

1625

1726
def deserializer_helper(msrest_cls: Type[Model], dict_to_deserialize: dict) -> Model:
18-
dependencies = [
19-
schema_cls
20-
for key, schema_cls in getmembers(schema)
21-
if isinstance(schema_cls, type) and issubclass(schema_cls, (Model, Enum))
22-
]
23-
dependencies += [
24-
schema_cls
25-
for key, schema_cls in getmembers(teams_schema)
26-
if isinstance(schema_cls, type) and issubclass(schema_cls, (Model, Enum))
27-
]
28-
dependencies_dict = {dependency.__name__: dependency for dependency in dependencies}
29-
deserializer = Deserializer(dependencies_dict)
27+
deserializer = Deserializer(DEPENDICIES_DICT)
3028
return deserializer(msrest_cls.__name__, dict_to_deserialize)
3129

3230

3331
def serializer_helper(object_to_serialize: Model) -> dict:
3432
if object_to_serialize is None:
3533
return None
3634

37-
dependencies = [
38-
schema_cls
39-
for key, schema_cls in getmembers(schema)
40-
if isinstance(schema_cls, type) and issubclass(schema_cls, (Model, Enum))
41-
]
42-
dependencies += [
43-
schema_cls
44-
for key, schema_cls in getmembers(teams_schema)
45-
if isinstance(schema_cls, type) and issubclass(schema_cls, (Model, Enum))
46-
]
47-
dependencies_dict = {dependency.__name__: dependency for dependency in dependencies}
48-
serializer = Serializer(dependencies_dict)
35+
serializer = Serializer(DEPENDICIES_DICT)
4936
# pylint: disable=protected-access
5037
return serializer._serialize(object_to_serialize)

0 commit comments

Comments
 (0)