
    g	                     @    S SK JrJr   " S S\5      r " S S\5      rg)    )	ValidatorValidationErrorc                   (    \ rS rSrSrSS jrS rSrg)Range   z0Checks if the value is within range min ... max.Nc                 >    Uc  Uc  [        S5      eXl        X l        g )Nz/Range without a min and max doesn't make sense.)
ValueErrorminmax)selfr
   r   s      9/usr/lib/python3/dist-packages/samba/netcmd/validators.py__init__Range.__init__   s!    ;3;NOO    c                    U R                   b7  U R                  c*  X R                   :  a  [        U SU R                    35      egU R                   c7  U R                  b*  X R                  :  a  [        U SU R                   35      egU R                   bT  U R                  bF  X R                   :  d  X R                  :  a'  [        U SU R                    SU R                   35      eggg)zCheck if value is within the range min ... max.

It is possible to omit min, or omit max, in which case a more
tailored error message is returned.
Nz must be at least z cannot be greater than z must be between z and )r
   r   r   )r   fieldvalues      r   __call__Range.__call__$   s     88DHH$4xx%/A$((&LMM   XX$(("6xx%g5dhhZ@B B   XX!dhh&:xx588#3%g.txxjdhhZHJ J $4 ';!r   )r   r
   )NN__name__
__module____qualname____firstlineno____doc__r   r   __static_attributes__ r   r   r   r      s    :Jr   r   c                   $    \ rS rSrSrS rS rSrg)OneOf9   z5Checks if the value is in a list of possible choices.c                 $    [        U5      U l        g )N)sortedchoices)r   r#   s     r   r   OneOf.__init__<   s    gr   c                 x    X R                   ;  a+  SR                  U R                   5      n[        U SU 35      eg )Nz, z must be one of: )r#   joinr   )r   r   r   allowed_choicess       r   r   OneOf.__call__?   s;    $"ii5O!UG+<_<M"NOO %r   )r#   Nr   r   r   r   r   r   9   s    ?'Pr   r   N)samba.getoptr   r   r   r   r   r   r   <module>r*      s&   . 4JI J>	PI 	Pr   