mirror of
				https://github.com/ets-labs/python-dependency-injector.git
				synced 2025-11-01 00:17:55 +03:00 
			
		
		
		
	
		
			
				
	
	
		
			23 lines
		
	
	
		
			443 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			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}"')
 |