U
    bH                     @   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 )RequirementsSpeczh
    Reads dependencies 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.8/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 r   )r   r   r   r   r   r   
can_handle$   s    zRequirementsSpec.can_handlec              	   C   sV   g }t | j2}|D ]&}| }|r|dr0q|| qW 5 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   