
    h
                    r    S r SSKJr  SSKrSSKJrJr  SSKJr  \" S5      r	\\
\\4   r " S S	5      rS	/rg)
z-Mixin for mapping set/getattr to self.set/get    )annotationsN)TypeVarUnion   )	constantsTc                  P    \ rS rSrS
S jrSS jrSS jrSS jrSS jrSS jr	Sr
g	)AttributeSetter   c                   XR                   ;   a  [        R                  XU5        gU R                  R	                  5        H;  nXR                   ;   d  U[        US0 5      ;   d  M%  [        R                  XU5          g   UR                  5       n [        [        U5      nU R                  XEU5        g! [         a%    [        U R                  R                   SU 35      ef = f)zset zmq options by attributeN__annotations__ has no such option: )__dict__object__setattr__	__class__mrogetattrupperr   _set_attr_optAttributeError__name__)selfkeyvaluecls	upper_keyopts         fC:\Users\julio\OneDrive\Documentos\Trabajo\Ideas Frescas\venv\Lib\site-packages\zmq/sugar/attrsettr.pyr   AttributeSetter.__setattr__   s     --t%0>>%%'Cll"cWS:KR-P&P""4e4 (
 IIK		6)Y/C yu5  	 >>**++@L 	s   B4 4/C#c                &    U R                  X#5        g)z@override if setattr should do something other than call self.setN)set)r   namer   r   s       r   r   AttributeSetter._set_attr_opt'   s        c                p   UR                  5       n [        [        U5      nSSKJn   U R                  X#5      $ ! U aB  nUR                  [        R                  [        R                  1;   a  [        U S35      ee SnAff = f! [         a&    [        U R                  R                   SU 35      Sef = f)zget zmq options by attributer   )ZMQErrorz attribute is write-onlyNr   )r   r   r   zmqr'   _get_attr_opterrnoEINVALEFAULTr   r   r   )r   r   r   r   r'   es         r   __getattr__AttributeSetter.__getattr__+   s    IIK		)Y/C %	)))99  77u||U\\::(C50H)IJJ  	 >>**++@L	s    B : B =A==B0B5c                $    U R                  U5      $ )z@override if getattr should do something other than call self.get)get)r   r#   r   s      r   r)   AttributeSetter._get_attr_optB   s    xx}r%   c                    [        S5      ezOverride in subclasszoverride in subclassNotImplementedError)r   r   s     r   r1   AttributeSetter.getF       !"899r%   c                    [        S5      er4   r5   )r   r   vals      r   r"   AttributeSetter.setJ   r8   r%    N)r   strr   OptValTreturnNone)r#   r=   r   intr   r>   r?   r@   )r   r=   r?   r>   )r?   r>   )r   rA   r?   r>   )r   rA   r:   r>   r?   r@   )r   
__module____qualname____firstlineno__r   r   r.   r)   r1   r"   __static_attributes__r<   r%   r   r
   r
      s     6,.::r%   r
   )__doc__
__future__r   r*   typingr   r    r   r   r=   bytesrA   r>   r
   __all__r<   r%   r   <module>rL      sD    3 #  ! CL
UC
 <: <:~ 
r%   