python-dependency-injector/examples/miniapps/use-cases/example/adapters.py

23 lines
443 B
Python
Raw Permalink Normal View History

2020-09-07 19:31:59 +03:00
"""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}"')