U
    d                     @   sR   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dZdd Z	d	d
 Z
dS )    N)loadapp)WSGIApplication)get_default_config_filec                 C   s$   d| krd|  } t | |t |dS )N:z	config:%s)namerelative_toglobal_conf)r   osgetcwd)Z
config_urir   defaults r   :/tmp/pip-unpacked-wheel-1tw_qy24/gunicorn/app/pasterapp.pyget_wsgi_app   s    r   c                 C   s   t  }|| g |dS )Nloggers)configparserConfigParserreadhas_section)config_fileparserr   r   r   has_logging_config   s    r   c                    s   |d  dd dd} dd}|rF|rFd||f d< n|rX|d	d< G  fd
ddt}|   dS )z    A Paste Deployment server runner.

    Example configuration:

        [server:main]
        use = egg:gunicorn#main
        host = 127.0.0.1
        port = 5000
    __file__configNhost portz%s:%sbind,c                       s(   e Zd ZfddZ fddZdS )z&serve.<locals>.PasterServerApplicationc                    s|   | j d  t r$| j d  r4|  nt }|d k	rL| |  D ]"\}}|d k	rT| j | | qTd S )NZdefault_proc_nameZ	logconfig)cfgsetr   Zload_config_from_filer   itemslower)selfZdefault_gunicorn_config_filekv)r   gunicorn_config_file
local_confr   r   load_config7   s    
z2serve.<locals>.PasterServerApplication.load_configc                    s    S )Nr   )r"   )appr   r   loadH   s    z+serve.<locals>.PasterServerApplication.loadN)__name__
__module____qualname__r'   r)   r   r(   r   r%   r&   r   r   PasterServerApplication6   s   r.   )popsplitr   run)r(   r   r&   r   r   r.   r   r-   r   serve!   s    r2   )NN)r   r	   Zpaste.deployr   Zgunicorn.app.wsgiappr   Zgunicorn.configr   r   r   r2   r   r   r   r   <module>   s   
