B
    '\G                 @   s(   d dl Z ddlmZ G dd deZdS )    N   )envc               @   sL   e Zd ZdZdZedgZdddZdd Zdd	 Z	d
d Z
edd ZdS )RequirementsSpeczg
    Reads depedencies from a requirements.txt file
    and returns an Environment object from it.
    Nz.txtc             K   s   || _ || _d | _d S )N)filenamenamemsg)selfr   r   kwargs r
   ;lib/python3.7/site-packages/conda_env/specs/requirements.py__init__   s    zRequirementsSpec.__init__c             C   s    t j| jrdS d| _dS d S )NTzThere is no requirements.txtF)ospathexistsr   r   )r   r
   r
   r   _valid_file   s    zRequirementsSpec._valid_filec             C   s   | j d krd| _dS dS d S )Nz3Environment with requirements.txt file needs a nameFT)r   r   )r   r
   r
   r   _valid_name   s    
zRequirementsSpec._valid_namec             C   s   |   o|  S )N)r   r   )r   r
   r
   r   
can_handle$   s    zRequirementsSpec.can_handlec          	   C   sZ   g }t | j6}x.|D ]&}| }|r|dr2q|| qW W d Q R X tj| j|dS )N#)r   dependencies)openr   strip
startswithappendr   ZEnvironmentr   )r   r   Zreqfileliner
   r
   r   environment'   s    
zRequirementsSpec.environment)NN)__name__
__module____qualname____doc__r   set
extensionsr   r   r   r   propertyr   r
   r
   r
   r   r   	   s   

r   )r    r   objectr   r
   r
   r
   r   <module>   s   