python-dependency-injector/examples/miniapps/use-cases/example/adapters.py
2021-09-30 19:01:31 -04:00

23 lines
447 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}\"")