mirror of
				https://github.com/ets-labs/python-dependency-injector.git
				synced 2025-11-04 09:57:37 +03:00 
			
		
		
		
	
		
			
				
	
	
		
			43 lines
		
	
	
		
			938 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			43 lines
		
	
	
		
			938 B
		
	
	
	
		
			Python
		
	
	
	
	
	
"""Containers module."""
 | 
						|
 | 
						|
import logging
 | 
						|
import sys
 | 
						|
 | 
						|
from dependency_injector import containers, providers
 | 
						|
 | 
						|
from . import http, monitors, dispatcher
 | 
						|
 | 
						|
 | 
						|
class Container(containers.DeclarativeContainer):
 | 
						|
 | 
						|
    config = providers.Configuration()
 | 
						|
 | 
						|
    logging = providers.Resource(
 | 
						|
        logging.basicConfig,
 | 
						|
        stream=sys.stdout,
 | 
						|
        level=config.log.level,
 | 
						|
        format=config.log.format,
 | 
						|
    )
 | 
						|
 | 
						|
    http_client = providers.Factory(http.HttpClient)
 | 
						|
 | 
						|
    example_monitor = providers.Factory(
 | 
						|
        monitors.HttpMonitor,
 | 
						|
        http_client=http_client,
 | 
						|
        options=config.monitors.example,
 | 
						|
    )
 | 
						|
 | 
						|
    httpbin_monitor = providers.Factory(
 | 
						|
        monitors.HttpMonitor,
 | 
						|
        http_client=http_client,
 | 
						|
        options=config.monitors.httpbin,
 | 
						|
    )
 | 
						|
 | 
						|
    dispatcher = providers.Factory(
 | 
						|
        dispatcher.Dispatcher,
 | 
						|
        monitors=providers.List(
 | 
						|
            example_monitor,
 | 
						|
            httpbin_monitor,
 | 
						|
        ),
 | 
						|
    )
 |