ó
žS]c           @   sP   d  Z  d d l m Z d d l m Z d d l m Z d e f d     YZ d S(   s   A requirement for a service.iĸĸĸĸ(   t   deepcopy(   t   EnvVarRequirement(   t	   is_stringt   ServiceRequirementc           B   s;   e  Z d  Z e d    Z e d    Z e d    Z RS(   sT   Abstract base class for a requirement from the services section of the project file.c         C   sĖ   d } t |  r* | } t d |  } np t | t  r | j d d  } | d k rq | j d j |   d St |  } n | j d j |   d St j	 | | |  sģ d St d | d | d |  S(   s)   Parse an item from the services: section.t   types*   Service {} doesn't contain a 'type' field.sJ   Service {} should have a service type string or a dictionary as its value.t   service_typet   env_vart   optionsN(
   t   NoneR   t   dictt
   isinstancet   gett   appendt   formatR    R   t   _parse_default(   t   clst   varnamet   itemt   problemsR   R   (    (    sZ   lib/python2.7/site-packages/anaconda_project/requirements_registry/requirements/service.pyt   _parse   s     c         C   s   |  j  d S(   s   Get service type string.R   (   R   (   t   self(    (    sZ   lib/python2.7/site-packages/anaconda_project/requirements_registry/requirements/service.pyR   *   s    c         C   s   t  d g  S(   s-   Override superclass with our ignore patterns.s
   /services/(   t   set(   R   (    (    sZ   lib/python2.7/site-packages/anaconda_project/requirements_registry/requirements/service.pyt   ignore_patterns/   s    (   t   __name__t
   __module__t   __doc__t   classmethodR   t   propertyR   R   (    (    (    sZ   lib/python2.7/site-packages/anaconda_project/requirements_registry/requirements/service.pyR      s   N(   R   t   copyR    t2   anaconda_project.requirements_registry.requirementR   t$   anaconda_project.internal.py2_compatR   R   (    (    (    sZ   lib/python2.7/site-packages/anaconda_project/requirements_registry/requirements/service.pyt   <module>   s   