B
    âÖÓY‡  ã               @   sL   d Z ddlmZ ddlZddlmZmZ ddlmZ G dd„ deeƒƒZ	dS )zThe Status type.é    )Úabsolute_importN)ÚABCMetaÚabstractmethod)Úwith_metaclassc               @   sD   e Zd ZdZdd„ Zeedd„ ƒƒZedd„ ƒZeedd	„ ƒƒZ	d
S )ÚStatuszÈClass describing a failure or success status, with logs.

    Values of this class evaluate to True in a boolean context
    if the status is successful.

    Values of this class are immutable.

    c             C   s   dS )zConstruct an abstract Status.N© )Úselfr   r   ú6lib/python3.7/site-packages/anaconda_project/status.pyÚ__init__   s    zStatus.__init__c             C   s   dS )z-Get a one-line-ish description of the status.Nr   )r   r   r   r	   Ústatus_description   s    zStatus.status_descriptionc             C   s   t  dt¡ dS )z Get logs relevant to the status.z6Provide a Frontend object instead of using status.logsr   )ÚwarningsÚwarnÚDeprecationWarning)r   r   r   r	   Úlogs%   s    zStatus.logsc             C   s   dS )a@  Get error logs relevant to the status.

        A rule of thumb for this field is that anything in here should also have been
        logged to a ``Frontend`` instance, so this field is kind of just a cache
        of error messages generated by a particular operation for the convenience
        of the caller.
        Nr   )r   r   r   r	   Úerrors+   s    
zStatus.errorsN)
Ú__name__Ú
__module__Ú__qualname__Ú__doc__r
   Úpropertyr   r   r   r   r   r   r   r	   r      s   r   )
r   Z
__future__r   r   Úabcr   r   Z#anaconda_project.internal.metaclassr   r   r   r   r   r	   Ú<module>   s
   