python-dependency-injector/examples/miniapps/use-cases/example/adapters.py
2020-09-07 12:31:59 -04:00

23 lines
443 B
Python

"""Adapters module."""
import abc
class EmailSender(metaclass=abc.ABCMeta):
@abc.abstractmethod
def send(self, to: str, body: str) -> None:
...
class SmtpEmailSender:
def send(self, to: str, body: str) -> None:
print(f'Sending an email to {to} over SMTP, body="{body}"')
class EchoEmailSender:
def send(self, to: str, body: str) -> None:
print(f'Fake sending an email to {to}, body="{body}"')