Skip to content

Commit 8a9590d

Browse files
author
Manuel Ochoa
committed
feature(parser): handle when email_validator package is not preset for SES model (#998)
1 parent 0f91d9b commit 8a9590d

File tree

1 file changed

+11
-2
lines changed
  • aws_lambda_powertools/utilities/parser/models

1 file changed

+11
-2
lines changed

aws_lambda_powertools/utilities/parser/models/ses.py

+11-2
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,21 @@
1+
import logging
2+
import sys
13
from datetime import datetime
2-
from typing import List, Optional
4+
from typing import List, NewType, Optional
35

46
from pydantic import BaseModel, Field
5-
from pydantic.networks import EmailStr
67
from pydantic.types import PositiveInt
78

89
from ..types import Literal
910

11+
has_email_validator = "email_validator" in sys.modules
12+
13+
if has_email_validator:
14+
from pydantic.networks import EmailStr
15+
else:
16+
logging.warning("email_validator package is not installed")
17+
EmailStr = NewType("EmailStr", str) # type: ignore[no-redef, misc]
18+
1019

1120
class SesReceiptVerdict(BaseModel):
1221
status: Literal["PASS", "FAIL", "GRAY", "PROCESSING_FAILED"]

0 commit comments

Comments
 (0)