diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/_consumer.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/_consumer.py index d632a7f52ee3..532ee81570ed 100644 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/_consumer.py +++ b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/_consumer.py @@ -35,7 +35,7 @@ def decode_cloud_event(self, cloud_event, **kwargs): # pylint: disable=no-self-u cloud_event = CloudEvent._from_json(cloud_event, encode) # pylint: disable=protected-access deserialized_event = CloudEvent._from_generated(cloud_event) # pylint: disable=protected-access CloudEvent._deserialize_data(deserialized_event, deserialized_event.type) # pylint: disable=protected-access - return cast(CloudEvent, deserialized_event) + return deserialized_event except Exception as err: _LOGGER.error('Error: cannot deserialize event. Event does not have a valid format. \ Event must be a string, dict, or bytes following the CloudEvent schema.') diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/_helpers.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/_helpers.py index eb5206297ca6..c9773a40336e 100644 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/_helpers.py +++ b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/_helpers.py @@ -86,7 +86,7 @@ def _get_authentication_policy(credential): return authentication_policy def _is_cloud_event(event): - # type: (dict) -> bool + # type: (Any) -> bool required = ('id', 'source', 'specversion', 'type') try: return all([_ in event for _ in required]) and event['specversion'] == "1.0" diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/_models.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/_models.py index b7a42c9b5fef..304b4aa19677 100644 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/_models.py +++ b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/_models.py @@ -3,7 +3,7 @@ # Licensed under the MIT License. See License.txt in the project root for license information. # -------------------------------------------------------------------------------------------- # pylint:disable=protected-access -from typing import Any +from typing import Union, Any, Dict import datetime as dt import uuid import json @@ -88,6 +88,7 @@ def __init__(self, source, type, **kwargs): # pylint: disable=redefined-builtin @classmethod def _from_generated(cls, cloud_event, **kwargs): + # type: (Union[str, Dict, bytes], Any) -> CloudEvent generated = InternalCloudEvent.deserialize(cloud_event) if generated.additional_properties: extensions = dict(generated.additional_properties) diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/_publisher_client.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/_publisher_client.py index 480d6fa2637a..b7648b587e61 100644 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/_publisher_client.py +++ b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/_publisher_client.py @@ -109,7 +109,7 @@ def send(self, events, **kwargs): if not isinstance(events, list): events = cast(ListEventType, [events]) - if all(isinstance(e, CloudEvent) for e in events) or all(_is_cloud_event(cast(Dict, e)) for e in events): + if all(isinstance(e, CloudEvent) for e in events) or all(_is_cloud_event(e) for e in events): try: events = [cast(CloudEvent, e)._to_generated(**kwargs) for e in events] # pylint: disable=protected-access except AttributeError: diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/aio/_publisher_client_async.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/aio/_publisher_client_async.py index b2d1d51d7d4d..b2644f7aaa43 100644 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/aio/_publisher_client_async.py +++ b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/aio/_publisher_client_async.py @@ -111,7 +111,7 @@ async def send( if not isinstance(events, list): events = cast(ListEventType, [events]) - if all(isinstance(e, CloudEvent) for e in events) or all(_is_cloud_event(cast(Dict, e)) for e in events): + if all(isinstance(e, CloudEvent) for e in events) or all(_is_cloud_event(e) for e in events): try: events = [ cast(CloudEvent, e)._to_generated(**kwargs) for e in events # pylint: disable=protected-access