Sindbad~EG File Manager
3
x?ag� � @ s� d Z ddlmZ ddlmZ ddlmZ ddlmZ G dd� de�ZG dd � d e�ZG d
d� de�Z G dd
� d
e�Z
G dd� de�ZdS )a%
ExitStatusMixins - Mixins for exceptions to associate distinguishing exit
status values
These mixins are defined based on the types of error that can occur.
Each mixin is assigned a specific exit status value to disambiguate the
error type via exit status of user-facing utilities.
The values start at 3 to provide distinction from common failure exit
statuses (1 - something went wrong, 2 - argument error) that may be produced
by user-facing utilities.
In accord with mixin best practices these mixins are to be specified
*before* an exception's superclass exception in the exception's definition.
This allows for a subsystem base exception to provide a subsystem-wide
exit status and for subsystem specific exceptions to specialize the
exit status as appropriate.
To avoid subclass proliferation simply to provide specific exit statuses
one can chose to create a subsystem base exception using any of the
ExitStatus hierachy classes (though, generally, one should probably only
use ExitStatus itself) and provide a specific exit status for an exception
at instantiation by passing any of the ExitStatus hierarchy classes as the
'exitStatus' instantiation parameter.
$Id: //eng/vdo-releases/aluminum/src/python/vdo/vdomgmnt/ExitStatusMixins.py#1 $
� )�absolute_import)�division)�print_function)�unicode_literalsc s2 e Zd ZdZdZedd� �Zd� fdd� Z� ZS ) �
ExitStatusz�Base class for all ExistStatusMixins.
Provides a default exit status value to be interpreted solely as an
error occurred.
� c C s | j d k r| j jS | jS )N)�_exitStatus�_exitStatusMixinValue)�self� r �&/usr/lib/python3.6/ExitStatusMixins.py�
exitStatus? s
zExitStatus.exitStatusNc sJ t t| �j||� || _| jd k rFt| jt� rFtdjt| j�j���d S )Nz{0} is not an ExitStatus mixin) �superr �__init__r �
issubclass� TypeError�format�type�__name__)r
r
�args�kwargs)� __class__r r r H s
zExitStatus.__init__)N) r �
__module__�__qualname__�__doc__r �propertyr
r �
__classcell__r r )r r r 5 s r c @ s e Zd ZdZdZdS )�DeveloperExitStatuszEUsed to represent an error condition due to a developer oversight.
� N)r r r r r r r r r r R s r c @ s e Zd ZdZdZdS )�StateExitStatuszHUsed to represent an error condition due to the state of some entity.
� N)r r r r r r r r r r X s r c @ s e Zd ZdZdZdS )�SystemExitStatusznUsed to represent an error condition due to a failure on the part of
the operating system, hardware, etc.
� N)r r r r r r r r r r! ^ s r! c @ s e Zd ZdZdZdS )�UserExitStatusznUsed to represent an error condition due to the user; e.g., bad parameter,
insufficient permissions, etc.
� N)r r r r r r r r r r# e s r# N)r Z
__future__r r r r �objectr r r r! r# r r r r �<module>/ s
Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists