diff --git a/layercake/layercake/email_.py b/layercake/layercake/email_.py index 19e467c..a4eb074 100644 --- a/layercake/layercake/email_.py +++ b/layercake/layercake/email_.py @@ -56,7 +56,11 @@ class Message: ) -> None: self._body.attach(MIMEText(text, subtype, charset)) - def attach(self, path: Path, filename: str | None = None) -> None: + def attach(self, path: Path | MIMEApplication, filename: str | None = None) -> None: + if isinstance(path, MIMEApplication): + self._message.attach(path) + return + if not path.is_file(): return None diff --git a/layercake/pyproject.toml b/layercake/pyproject.toml index 93b2608..0274b8d 100644 --- a/layercake/pyproject.toml +++ b/layercake/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "layercake" -version = "0.8.1" +version = "0.8.2" description = "Packages shared dependencies to optimize deployment and ensure consistency across functions." readme = "README.md" authors = [ diff --git a/layercake/tests/test_email.py b/layercake/tests/test_email.py index fd524be..fbebbf4 100644 --- a/layercake/tests/test_email.py +++ b/layercake/tests/test_email.py @@ -64,19 +64,13 @@ def test_send_email(): ses = boto3.client('ses', region_name='sa-east-1') ses.verify_email_identity(EmailAddress=from_[1]) - assert ses.send_raw_email( - Source=from_[1], - Destinations=[to[0][1]], - RawMessage={'Data': emailmsg.as_bytes()}, + sesv2 = boto3.client('sesv2') + r = sesv2.send_email( + Content={ + 'Raw': { + 'Data': emailmsg.as_bytes(), + }, + } ) - # sesv2 = boto3.client('sesv2') - # r = sesv2.send_email( - # Content={ - # 'Raw': { - # 'Data': emailmsg.as_bytes(), - # }, - # } - # ) - - # assert 'MessageId' in r + assert 'MessageId' in r diff --git a/layercake/uv.lock b/layercake/uv.lock index 2aa6489..bada17b 100644 --- a/layercake/uv.lock +++ b/layercake/uv.lock @@ -634,7 +634,7 @@ wheels = [ [[package]] name = "layercake" -version = "0.8.0" +version = "0.8.2" source = { editable = "." } dependencies = [ { name = "arnparse" },