l
Ì	g]c               @   sA   d  Z  d d l m Z d „  Z d d „ Z d „  Z d „  Z d S(	   u   
Common validation functions
i    (   u
   basestringc             C   s,   t  |  t ƒ s( t d | |  f ƒ ‚ n  d S(   u<   Require that value is a string

    :raises: TypeError

    u+   %s must be a str or unicode str, but got %rN(   u
   isinstanceu
   basestringu	   TypeError(   u   valueu
   value_name(    (    u4   /srv/kernel/kteam-tools/dashboard/pika/validators.pyu   require_string   s    u   callbackc             C   s)   t  |  ƒ s% t d | |  f ƒ ‚ n  d S(   uO   Require that callback is callable and is not None

    :raises: TypeError

    u(   callback %s must be callable, but got %rN(   u   callableu	   TypeError(   u   callbacku   callback_name(    (    u4   /srv/kernel/kteam-tools/dashboard/pika/validators.pyu   require_callback   s    c             C   s0   |  d k r d St |  ƒ r  d St d ƒ ‚ d S(   u~   Verify callback is callable if not None

    :returns: boolean indicating nowait
    :rtype: bool
    :raises: TypeError

    u0   completion callback must be callable if not NoneNTF(   u   Noneu   Trueu   callableu   Falseu	   TypeError(   u   callback(    (    u4   /srv/kernel/kteam-tools/dashboard/pika/validators.pyu   rpc_completion_callback"   s
    c             C   s7   t  | ƒ d k  r3 d j |  | ƒ } t | ƒ ‚ n  d S(   uu   Verify that value is zero or greater. If not, 'name'
    will be used in error message

    :raises: ValueError

    i    u   {} must be >= 0, but got {}N(   u   intu   formatu
   ValueError(   u   nameu   valueu   errmsg(    (    u4   /srv/kernel/kteam-tools/dashboard/pika/validators.pyu   zero_or_greater6   s    N(   u   __doc__u   pika.compatu
   basestringu   require_stringu   require_callbacku   rpc_completion_callbacku   zero_or_greater(    (    (    u4   /srv/kernel/kteam-tools/dashboard/pika/validators.pyu   <module>   s
   		