From 29fd31f2ab023d18f88b0e5e93c7358d4b07f6b8 Mon Sep 17 00:00:00 2001 From: Nicolas Moutschen Date: Thu, 11 Feb 2021 10:58:05 +0100 Subject: [PATCH] fix: sfix typing hit for envelope parse model --- .../utilities/parser/envelopes/base.py | 8 ++++---- .../utilities/parser/envelopes/cloudwatch.py | 6 +++--- .../utilities/parser/envelopes/dynamodb.py | 6 +++--- .../utilities/parser/envelopes/event_bridge.py | 6 +++--- .../utilities/parser/envelopes/kinesis.py | 6 +++--- .../utilities/parser/envelopes/sns.py | 12 ++++++------ .../utilities/parser/envelopes/sqs.py | 6 +++--- 7 files changed, 25 insertions(+), 25 deletions(-) diff --git a/aws_lambda_powertools/utilities/parser/envelopes/base.py b/aws_lambda_powertools/utilities/parser/envelopes/base.py index 4cf9c1b94ec..484d589fcc8 100644 --- a/aws_lambda_powertools/utilities/parser/envelopes/base.py +++ b/aws_lambda_powertools/utilities/parser/envelopes/base.py @@ -1,6 +1,6 @@ import logging from abc import ABC, abstractmethod -from typing import Any, Dict, Optional, TypeVar, Union +from typing import Any, Dict, Optional, Type, TypeVar, Union from ..types import Model @@ -11,14 +11,14 @@ class BaseEnvelope(ABC): """ABC implementation for creating a supported Envelope""" @staticmethod - def _parse(data: Optional[Union[Dict[str, Any], Any]], model: Model) -> Union[Model, None]: + def _parse(data: Optional[Union[Dict[str, Any], Any]], model: Type[Model]) -> Union[Model, None]: """Parses envelope data against model provided Parameters ---------- data : Dict Data to be parsed and validated - model : Model + model : Type[Model] Data model to parse and validate data against Returns @@ -38,7 +38,7 @@ def _parse(data: Optional[Union[Dict[str, Any], Any]], model: Model) -> Union[Mo return model.parse_obj(data) @abstractmethod - def parse(self, data: Optional[Union[Dict[str, Any], Any]], model: Model): + def parse(self, data: Optional[Union[Dict[str, Any], Any]], model: Type[Model]): """Implementation to parse data against envelope model, then against the data model NOTE: Call `_parse` method to fully parse data with model provided. diff --git a/aws_lambda_powertools/utilities/parser/envelopes/cloudwatch.py b/aws_lambda_powertools/utilities/parser/envelopes/cloudwatch.py index da5dda1ed23..cf8b45c6d86 100644 --- a/aws_lambda_powertools/utilities/parser/envelopes/cloudwatch.py +++ b/aws_lambda_powertools/utilities/parser/envelopes/cloudwatch.py @@ -1,5 +1,5 @@ import logging -from typing import Any, Dict, List, Optional, Union +from typing import Any, Dict, List, Optional, Type, Union from ..models import CloudWatchLogsModel from ..types import Model @@ -18,14 +18,14 @@ class CloudWatchLogsEnvelope(BaseEnvelope): Note: The record will be parsed the same way so if model is str """ - def parse(self, data: Optional[Union[Dict[str, Any], Any]], model: Model) -> List[Optional[Model]]: + def parse(self, data: Optional[Union[Dict[str, Any], Any]], model: Type[Model]) -> List[Optional[Model]]: """Parses records found with model provided Parameters ---------- data : Dict Lambda event to be parsed - model : Model + model : Type[Model] Data model provided to parse after extracting data using envelope Returns diff --git a/aws_lambda_powertools/utilities/parser/envelopes/dynamodb.py b/aws_lambda_powertools/utilities/parser/envelopes/dynamodb.py index 3315196af3a..e9dc5f8747c 100644 --- a/aws_lambda_powertools/utilities/parser/envelopes/dynamodb.py +++ b/aws_lambda_powertools/utilities/parser/envelopes/dynamodb.py @@ -1,5 +1,5 @@ import logging -from typing import Any, Dict, List, Optional, Union +from typing import Any, Dict, List, Optional, Type, Union from ..models import DynamoDBStreamModel from ..types import Model @@ -15,14 +15,14 @@ class DynamoDBStreamEnvelope(BaseEnvelope): length of the list is the record's amount in the original event. """ - def parse(self, data: Optional[Union[Dict[str, Any], Any]], model: Model) -> List[Dict[str, Optional[Model]]]: + def parse(self, data: Optional[Union[Dict[str, Any], Any]], model: Type[Model]) -> List[Dict[str, Optional[Model]]]: """Parses DynamoDB Stream records found in either NewImage and OldImage with model provided Parameters ---------- data : Dict Lambda event to be parsed - model : Model + model : Type[Model] Data model provided to parse after extracting data using envelope Returns diff --git a/aws_lambda_powertools/utilities/parser/envelopes/event_bridge.py b/aws_lambda_powertools/utilities/parser/envelopes/event_bridge.py index 5b40926b482..ad1df09a65e 100644 --- a/aws_lambda_powertools/utilities/parser/envelopes/event_bridge.py +++ b/aws_lambda_powertools/utilities/parser/envelopes/event_bridge.py @@ -1,5 +1,5 @@ import logging -from typing import Any, Dict, Optional, Union +from typing import Any, Dict, Optional, Type, Union from ..models import EventBridgeModel from ..types import Model @@ -11,14 +11,14 @@ class EventBridgeEnvelope(BaseEnvelope): """EventBridge envelope to extract data within detail key""" - def parse(self, data: Optional[Union[Dict[str, Any], Any]], model: Model) -> Optional[Model]: + def parse(self, data: Optional[Union[Dict[str, Any], Any]], model: Type[Model]) -> Optional[Model]: """Parses data found with model provided Parameters ---------- data : Dict Lambda event to be parsed - model : Model + model : Type[Model] Data model provided to parse after extracting data using envelope Returns diff --git a/aws_lambda_powertools/utilities/parser/envelopes/kinesis.py b/aws_lambda_powertools/utilities/parser/envelopes/kinesis.py index b1e47adf46e..9db8e4450f2 100644 --- a/aws_lambda_powertools/utilities/parser/envelopes/kinesis.py +++ b/aws_lambda_powertools/utilities/parser/envelopes/kinesis.py @@ -1,5 +1,5 @@ import logging -from typing import Any, Dict, List, Optional, Union +from typing import Any, Dict, List, Optional, Type, Union from ..models import KinesisDataStreamModel from ..types import Model @@ -19,14 +19,14 @@ class KinesisDataStreamEnvelope(BaseEnvelope): all items in the list will be parsed as str and npt as JSON (and vice versa) """ - def parse(self, data: Optional[Union[Dict[str, Any], Any]], model: Model) -> List[Optional[Model]]: + def parse(self, data: Optional[Union[Dict[str, Any], Any]], model: Type[Model]) -> List[Optional[Model]]: """Parses records found with model provided Parameters ---------- data : Dict Lambda event to be parsed - model : Model + model : Type[Model] Data model provided to parse after extracting data using envelope Returns diff --git a/aws_lambda_powertools/utilities/parser/envelopes/sns.py b/aws_lambda_powertools/utilities/parser/envelopes/sns.py index a194ea55895..8f4b0f20902 100644 --- a/aws_lambda_powertools/utilities/parser/envelopes/sns.py +++ b/aws_lambda_powertools/utilities/parser/envelopes/sns.py @@ -1,5 +1,5 @@ import logging -from typing import Any, Dict, List, Optional, Union +from typing import Any, Dict, List, Optional, Type, Union from ..models import SnsModel, SnsNotificationModel, SqsModel from ..types import Model @@ -16,16 +16,16 @@ class SnsEnvelope(BaseEnvelope): Note: Records will be parsed the same way so if model is str, all items in the list will be parsed as str and npt as JSON (and vice versa) - """ + """ - def parse(self, data: Optional[Union[Dict[str, Any], Any]], model: Model) -> List[Optional[Model]]: + def parse(self, data: Optional[Union[Dict[str, Any], Any]], model: Type[Model]) -> List[Optional[Model]]: """Parses records found with model provided Parameters ---------- data : Dict Lambda event to be parsed - model : Model + model : Type[Model] Data model provided to parse after extracting data using envelope Returns @@ -50,14 +50,14 @@ class SnsSqsEnvelope(BaseEnvelope): 3. Finally, parse provided model against payload extracted """ - def parse(self, data: Optional[Union[Dict[str, Any], Any]], model: Model) -> List[Optional[Model]]: + def parse(self, data: Optional[Union[Dict[str, Any], Any]], model: Type[Model]) -> List[Optional[Model]]: """Parses records found with model provided Parameters ---------- data : Dict Lambda event to be parsed - model : Model + model : Type[Model] Data model provided to parse after extracting data using envelope Returns diff --git a/aws_lambda_powertools/utilities/parser/envelopes/sqs.py b/aws_lambda_powertools/utilities/parser/envelopes/sqs.py index acc8f9900dd..0e30d66e2f7 100644 --- a/aws_lambda_powertools/utilities/parser/envelopes/sqs.py +++ b/aws_lambda_powertools/utilities/parser/envelopes/sqs.py @@ -1,5 +1,5 @@ import logging -from typing import Any, Dict, List, Optional, Union +from typing import Any, Dict, List, Optional, Type, Union from ..models import SqsModel from ..types import Model @@ -18,14 +18,14 @@ class SqsEnvelope(BaseEnvelope): all items in the list will be parsed as str and npt as JSON (and vice versa) """ - def parse(self, data: Optional[Union[Dict[str, Any], Any]], model: Model) -> List[Optional[Model]]: + def parse(self, data: Optional[Union[Dict[str, Any], Any]], model: Type[Model]) -> List[Optional[Model]]: """Parses records found with model provided Parameters ---------- data : Dict Lambda event to be parsed - model : Model + model : Type[Model] Data model provided to parse after extracting data using envelope Returns