U
    Z+d                     @   sr   d Z ddlZddlZddlmZ ddlmZ ddlmZ ddl	m
Z
 dZd	Zeejd
dZG dd de
ZdS )z@The default loader used when no custom app has been initialized.    N)NotConfiguredDictAttribute)	strtobool   )
BaseLoader)LoaderDEFAULT_CONFIG_MODULEZceleryconfig	C_WNOCONFFc                   @   s"   e Zd ZdZdd ZdddZdS )	r   z#The loader used by the default app.c                 C   s   t |S )Nr   )selfZsettingsdict r   :/tmp/pip-unpacked-wheel-ucduq0nd/celery/loaders/default.pysetup_settings   s    zLoader.setup_settingsTc              	   C   s|   t jdt}z| |}W nJ tk
rf   |s2 trXt jdsXtt	dj
|d | i  Y S X d| _| |S dS )z0Read configuration from :file:`celeryconfig.py`.ZCELERY_CONFIG_MODULEZFORKED_BY_MULTIPROCESSINGzPNo {module} module found! Please make sure it exists and is available to Python.)moduleTN)osenvirongetr	   Z_import_config_moduleImportErrorr
   warningswarnr   formatr   Z
configured)r   Zfail_silentlyZ
confignameZusercfgr   r   r   read_configuration   s"    zLoader.read_configurationN)T)__name__
__module____qualname____doc__r   r   r   r   r   r   r      s   r   )r   r   r   Zcelery.exceptionsr   Zcelery.utils.collectionsr   Zcelery.utils.serializationr   baser   __all__r	   r   r   r
   r   r   r   r   r   <module>   s   