Skip to content

Commit 204095c

Browse files
author
SDKAuto
committed
CodeGen from PR 3601 in test-repo-billy/azure-rest-api-specs
Merge 274aee0d5843a5745e2f24cebf3b818b85de9b37 into a327b82bbb2b6fd6e61933429fae1c71945fd3ca
1 parent 21ff394 commit 204095c

40 files changed

+543
-1564
lines changed
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"commit": "21de2f525db79275e787fe3a15579693252e1b55",
3+
"repository_url": "https://github.com/test-repo-billy/azure-rest-api-specs",
4+
"typespec_src": "specification/communication/Communication.Messages",
5+
"@azure-tools/typespec-python": "0.38.1"
6+
}

sdk/communication/azure-communication-messages/azure/communication/messages/__init__.py

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,16 +5,22 @@
55
# Code generated by Microsoft (R) Python Code Generator.
66
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
77
# --------------------------------------------------------------------------
8+
# pylint: disable=wrong-import-position
89

9-
from ._client import NotificationMessagesClient
10-
from ._client import MessageTemplateClient
10+
from typing import TYPE_CHECKING
11+
12+
if TYPE_CHECKING:
13+
from ._patch import * # pylint: disable=unused-wildcard-import
14+
15+
from ._client import NotificationMessagesClient # type: ignore
16+
from ._client import MessageTemplateClient # type: ignore
1117
from ._version import VERSION
1218

1319
__version__ = VERSION
1420

1521
try:
1622
from ._patch import __all__ as _patch_all
17-
from ._patch import * # pylint: disable=unused-wildcard-import
23+
from ._patch import *
1824
except ImportError:
1925
_patch_all = []
2026
from ._patch import patch_sdk as _patch_sdk
@@ -23,6 +29,6 @@
2329
"NotificationMessagesClient",
2430
"MessageTemplateClient",
2531
]
26-
__all__.extend([p for p in _patch_all if p not in __all__])
32+
__all__.extend([p for p in _patch_all if p not in __all__]) # pyright: ignore
2733

2834
_patch_sdk()

sdk/communication/azure-communication-messages/azure/communication/messages/_api_versions.py

Lines changed: 0 additions & 16 deletions
This file was deleted.

sdk/communication/azure-communication-messages/azure/communication/messages/_client.py

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -20,20 +20,17 @@
2020
from ._serialization import Deserializer, Serializer
2121

2222
if TYPE_CHECKING:
23-
# pylint: disable=unused-import,ungrouped-imports
2423
from azure.core.credentials import TokenCredential
2524

2625

27-
class NotificationMessagesClient(
28-
NotificationMessagesClientOperationsMixin
29-
): # pylint: disable=client-accepts-api-version-keyword
26+
class NotificationMessagesClient(NotificationMessagesClientOperationsMixin):
3027
"""NotificationMessagesClient.
3128
3229
:param endpoint: The communication resource, for example
3330
https://my-resource.communication.azure.com. Required.
3431
:type endpoint: str
35-
:param credential: Credential used to authenticate requests to the service. Is either a
36-
TokenCredential type or a AzureKeyCredential type. Required.
32+
:param credential: Credential used to authenticate requests to the service. Is either a token
33+
credential type or a key credential type. Required.
3734
:type credential: ~azure.core.credentials.TokenCredential or
3835
~azure.core.credentials.AzureKeyCredential
3936
:keyword api_version: The API version to use for this operation. Default value is "2024-08-30".
@@ -104,14 +101,14 @@ def __exit__(self, *exc_details: Any) -> None:
104101
self._client.__exit__(*exc_details)
105102

106103

107-
class MessageTemplateClient(MessageTemplateClientOperationsMixin): # pylint: disable=client-accepts-api-version-keyword
104+
class MessageTemplateClient(MessageTemplateClientOperationsMixin):
108105
"""MessageTemplateClient.
109106
110107
:param endpoint: The communication resource, for example
111108
https://my-resource.communication.azure.com. Required.
112109
:type endpoint: str
113-
:param credential: Credential used to authenticate requests to the service. Is either a
114-
TokenCredential type or a AzureKeyCredential type. Required.
110+
:param credential: Credential used to authenticate requests to the service. Is either a token
111+
credential type or a key credential type. Required.
115112
:type credential: ~azure.core.credentials.TokenCredential or
116113
~azure.core.credentials.AzureKeyCredential
117114
:keyword api_version: The API version to use for this operation. Default value is "2024-08-30".

sdk/communication/azure-communication-messages/azure/communication/messages/_configuration.py

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,10 @@
1414
from ._version import VERSION
1515

1616
if TYPE_CHECKING:
17-
# pylint: disable=unused-import,ungrouped-imports
1817
from azure.core.credentials import TokenCredential
1918

2019

21-
class NotificationMessagesClientConfiguration: # pylint: disable=too-many-instance-attributes,name-too-long
20+
class NotificationMessagesClientConfiguration: # pylint: disable=too-many-instance-attributes
2221
"""Configuration for NotificationMessagesClient.
2322
2423
Note that all parameters used to create this instance are saved as instance
@@ -27,8 +26,8 @@ class NotificationMessagesClientConfiguration: # pylint: disable=too-many-insta
2726
:param endpoint: The communication resource, for example
2827
https://my-resource.communication.azure.com. Required.
2928
:type endpoint: str
30-
:param credential: Credential used to authenticate requests to the service. Is either a
31-
TokenCredential type or a AzureKeyCredential type. Required.
29+
:param credential: Credential used to authenticate requests to the service. Is either a token
30+
credential type or a key credential type. Required.
3231
:type credential: ~azure.core.credentials.TokenCredential or
3332
~azure.core.credentials.AzureKeyCredential
3433
:keyword api_version: The API version to use for this operation. Default value is "2024-08-30".
@@ -73,7 +72,7 @@ def _configure(self, **kwargs: Any) -> None:
7372
self.authentication_policy = self._infer_policy(**kwargs)
7473

7574

76-
class MessageTemplateClientConfiguration: # pylint: disable=too-many-instance-attributes,name-too-long
75+
class MessageTemplateClientConfiguration: # pylint: disable=too-many-instance-attributes
7776
"""Configuration for MessageTemplateClient.
7877
7978
Note that all parameters used to create this instance are saved as instance
@@ -82,8 +81,8 @@ class MessageTemplateClientConfiguration: # pylint: disable=too-many-instance-a
8281
:param endpoint: The communication resource, for example
8382
https://my-resource.communication.azure.com. Required.
8483
:type endpoint: str
85-
:param credential: Credential used to authenticate requests to the service. Is either a
86-
TokenCredential type or a AzureKeyCredential type. Required.
84+
:param credential: Credential used to authenticate requests to the service. Is either a token
85+
credential type or a key credential type. Required.
8786
:type credential: ~azure.core.credentials.TokenCredential or
8887
~azure.core.credentials.AzureKeyCredential
8988
:keyword api_version: The API version to use for this operation. Default value is "2024-08-30".

sdk/communication/azure-communication-messages/azure/communication/messages/_model_base.py

Lines changed: 28 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
1+
# pylint: disable=too-many-lines
12
# coding=utf-8
23
# --------------------------------------------------------------------------
34
# Copyright (c) Microsoft Corporation. All rights reserved.
45
# Licensed under the MIT License. See License.txt in the project root for
56
# license information.
67
# --------------------------------------------------------------------------
7-
# pylint: disable=protected-access, arguments-differ, signature-differs, broad-except, too-many-lines
8+
# pylint: disable=protected-access, broad-except
89

910
import copy
1011
import calendar
@@ -573,7 +574,7 @@ def __init__(self, *args: typing.Any, **kwargs: typing.Any) -> None:
573574
def copy(self) -> "Model":
574575
return Model(self.__dict__)
575576

576-
def __new__(cls, *args: typing.Any, **kwargs: typing.Any) -> Self: # pylint: disable=unused-argument
577+
def __new__(cls, *args: typing.Any, **kwargs: typing.Any) -> Self:
577578
if f"{cls.__module__}.{cls.__qualname__}" not in cls._calculated:
578579
# we know the last nine classes in mro are going to be 'Model', '_MyMutableMapping', 'MutableMapping',
579580
# 'Mapping', 'Collection', 'Sized', 'Iterable', 'Container' and 'object'
@@ -584,8 +585,8 @@ def __new__(cls, *args: typing.Any, **kwargs: typing.Any) -> Self: # pylint: di
584585
annotations = {
585586
k: v
586587
for mro_class in mros
587-
if hasattr(mro_class, "__annotations__") # pylint: disable=no-member
588-
for k, v in mro_class.__annotations__.items() # pylint: disable=no-member
588+
if hasattr(mro_class, "__annotations__")
589+
for k, v in mro_class.__annotations__.items()
589590
}
590591
for attr, rf in attr_to_rest_field.items():
591592
rf._module = cls.__module__
@@ -600,8 +601,8 @@ def __new__(cls, *args: typing.Any, **kwargs: typing.Any) -> Self: # pylint: di
600601

601602
def __init_subclass__(cls, discriminator: typing.Optional[str] = None) -> None:
602603
for base in cls.__bases__:
603-
if hasattr(base, "__mapping__"): # pylint: disable=no-member
604-
base.__mapping__[discriminator or cls.__name__] = cls # type: ignore # pylint: disable=no-member
604+
if hasattr(base, "__mapping__"):
605+
base.__mapping__[discriminator or cls.__name__] = cls # type: ignore
605606

606607
@classmethod
607608
def _get_discriminator(cls, exist_discriminators) -> typing.Optional["_RestField"]:
@@ -612,7 +613,7 @@ def _get_discriminator(cls, exist_discriminators) -> typing.Optional["_RestField
612613

613614
@classmethod
614615
def _deserialize(cls, data, exist_discriminators):
615-
if not hasattr(cls, "__mapping__"): # pylint: disable=no-member
616+
if not hasattr(cls, "__mapping__"):
616617
return cls(data)
617618
discriminator = cls._get_discriminator(exist_discriminators)
618619
if discriminator is None:
@@ -632,11 +633,11 @@ def _deserialize(cls, data, exist_discriminators):
632633
discriminator_value = data.find(xml_name).text # pyright: ignore
633634
else:
634635
discriminator_value = data.get(discriminator._rest_name)
635-
mapped_cls = cls.__mapping__.get(discriminator_value, cls) # pyright: ignore # pylint: disable=no-member
636+
mapped_cls = cls.__mapping__.get(discriminator_value, cls) # pyright: ignore
636637
return mapped_cls._deserialize(data, exist_discriminators)
637638

638639
def as_dict(self, *, exclude_readonly: bool = False) -> typing.Dict[str, typing.Any]:
639-
"""Return a dict that can be JSONify using json.dump.
640+
"""Return a dict that can be turned into json using json.dump.
640641
641642
:keyword bool exclude_readonly: Whether to remove the readonly properties.
642643
:returns: A dict JSON compatible object
@@ -733,7 +734,7 @@ def _sorted_annotations(types: typing.List[typing.Any]) -> typing.List[typing.An
733734
)
734735

735736

736-
def _get_deserialize_callable_from_annotation( # pylint: disable=R0911, R0915, R0912
737+
def _get_deserialize_callable_from_annotation( # pylint: disable=too-many-return-statements, too-many-branches
737738
annotation: typing.Any,
738739
module: typing.Optional[str],
739740
rf: typing.Optional["_RestField"] = None,
@@ -753,7 +754,7 @@ def _get_deserialize_callable_from_annotation( # pylint: disable=R0911, R0915,
753754
except AttributeError:
754755
model_name = annotation
755756
if module is not None:
756-
annotation = _get_model(module, model_name)
757+
annotation = _get_model(module, model_name) # type: ignore
757758

758759
try:
759760
if module and _is_model(annotation):
@@ -893,6 +894,22 @@ def _deserialize(
893894
return _deserialize_with_callable(deserializer, value)
894895

895896

897+
def _failsafe_deserialize(
898+
deserializer: typing.Any,
899+
value: typing.Any,
900+
module: typing.Optional[str] = None,
901+
rf: typing.Optional["_RestField"] = None,
902+
format: typing.Optional[str] = None,
903+
) -> typing.Any:
904+
try:
905+
return _deserialize(deserializer, value, module, rf, format)
906+
except DeserializationError:
907+
_LOGGER.warning(
908+
"Ran into a deserialization error. Ignoring since this is failsafe deserialization", exc_info=True
909+
)
910+
return None
911+
912+
896913
class _RestField:
897914
def __init__(
898915
self,

sdk/communication/azure-communication-messages/azure/communication/messages/_operations/__init__.py

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,23 @@
55
# Code generated by Microsoft (R) Python Code Generator.
66
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
77
# --------------------------------------------------------------------------
8+
# pylint: disable=wrong-import-position
89

9-
from ._operations import NotificationMessagesClientOperationsMixin
10-
from ._operations import MessageTemplateClientOperationsMixin
10+
from typing import TYPE_CHECKING
11+
12+
if TYPE_CHECKING:
13+
from ._patch import * # pylint: disable=unused-wildcard-import
14+
15+
from ._operations import NotificationMessagesClientOperationsMixin # type: ignore
16+
from ._operations import MessageTemplateClientOperationsMixin # type: ignore
1117

1218
from ._patch import __all__ as _patch_all
13-
from ._patch import * # pylint: disable=unused-wildcard-import
19+
from ._patch import *
1420
from ._patch import patch_sdk as _patch_sdk
1521

1622
__all__ = [
1723
"NotificationMessagesClientOperationsMixin",
1824
"MessageTemplateClientOperationsMixin",
1925
]
20-
__all__.extend([p for p in _patch_all if p not in __all__])
26+
__all__.extend([p for p in _patch_all if p not in __all__]) # pyright: ignore
2127
_patch_sdk()

sdk/communication/azure-communication-messages/azure/communication/messages/_operations/_operations.py

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
# pylint: disable=too-many-lines,too-many-statements
21
# coding=utf-8
32
# --------------------------------------------------------------------------
43
# Copyright (c) Microsoft Corporation. All rights reserved.
@@ -10,7 +9,7 @@
109
from io import IOBase
1110
import json
1211
import sys
13-
from typing import Any, Callable, Dict, IO, Iterable, Iterator, List, Optional, Type, TypeVar, Union, overload
12+
from typing import Any, Callable, Dict, IO, Iterable, Iterator, List, Optional, TypeVar, Union, overload
1413
import urllib.parse
1514
import uuid
1615

@@ -38,7 +37,7 @@
3837
if sys.version_info >= (3, 9):
3938
from collections.abc import MutableMapping
4039
else:
41-
from typing import MutableMapping # type: ignore # pylint: disable=ungrouped-imports
40+
from typing import MutableMapping # type: ignore
4241
JSON = MutableMapping[str, Any] # pylint: disable=unsubscriptable-object
4342
T = TypeVar("T")
4443
ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]]
@@ -190,7 +189,7 @@ def send(
190189
:rtype: ~azure.communication.messages.models.SendMessageResult
191190
:raises ~azure.core.exceptions.HttpResponseError:
192191
"""
193-
error_map: MutableMapping[int, Type[HttpResponseError]] = { # pylint: disable=unsubscriptable-object
192+
error_map: MutableMapping = {
194193
401: ClientAuthenticationError,
195194
404: ResourceNotFoundError,
196195
409: ResourceExistsError,
@@ -267,7 +266,7 @@ def download_media(self, id: str, **kwargs: Any) -> Iterator[bytes]:
267266
:rtype: Iterator[bytes]
268267
:raises ~azure.core.exceptions.HttpResponseError:
269268
"""
270-
error_map: MutableMapping[int, Type[HttpResponseError]] = { # pylint: disable=unsubscriptable-object
269+
error_map: MutableMapping = {
271270
401: ClientAuthenticationError,
272271
404: ResourceNotFoundError,
273272
409: ResourceExistsError,
@@ -339,7 +338,7 @@ def list_templates(self, channel_id: str, **kwargs: Any) -> Iterable["_models.Me
339338
maxpagesize = kwargs.pop("maxpagesize", None)
340339
cls: ClsType[List[_models.MessageTemplateItem]] = kwargs.pop("cls", None)
341340

342-
error_map: MutableMapping[int, Type[HttpResponseError]] = { # pylint: disable=unsubscriptable-object
341+
error_map: MutableMapping = {
343342
401: ClientAuthenticationError,
344343
404: ResourceNotFoundError,
345344
409: ResourceExistsError,

0 commit comments

Comments
 (0)