%PDF- %PDF-
| Direktori : /proc/self/root/lib64/python2.7/site-packages/zmq/ |
| Current File : //proc/self/root/lib64/python2.7/site-packages/zmq/decorators.pyc |
�
+�{Wc @ s� d Z d Z d d l m Z d d l Z d d l m Z d e f d � � YZ d e f d
� � YZ d e f d � � YZ
d
� Z d � Z d S( si Decorators for running functions with context/sockets.
.. versionadded:: 15.3
Like using Contexts and Sockets as context managers, but with decorator syntax.
Context and sockets are closed at the end of the function.
For example::
from zmq.decorators import context, socket
@context()
@socket(zmq.PUSH)
def work(ctx, push):
...
t contextt socketi����( t wrapsN( t
basestringt
_Decoratorc B s5 e Z d Z d d � Z d � Z d � Z d � Z RS( s The mini decorator factoryc C s
| | _ d S( N( t _target( t selft target( ( s4 /usr/lib64/python2.7/site-packages/zmq/decorators.pyt __init__# s c s7 � j � � � \ � � � � � � � f d � } | S( s�
The main logic of decorator
Here is how those arguments works::
@out_decorator(*dec_args, *dec_kwargs)
def func(*wrap_args, **wrap_kwargs):
...
And in the ``wrapper``, we simply create ``self.target`` instance via
``with``::
target = self.get_target(*args, **kwargs)
with target(*dec_args, **dec_kwargs) as obj:
...
c s+ t � � � � � � � f d � � } | S( Nc
s� � j | | � } | � � � �p } � rC � | k rC | | � <n= � rs � | k rs t d j � j � � � � n
| | f } � | | � SWd QXd S( Ns, {0}() got multiple values for argument '{1}'( t
get_targett TypeErrort formatt __name__( t argst kwargsR t obj( t dec_argst
dec_kwargst funct kw_nameR ( s4 /usr/lib64/python2.7/site-packages/zmq/decorators.pyt wrapper; s
( R ( R R ( R R R R ( R s4 /usr/lib64/python2.7/site-packages/zmq/decorators.pyt decorator: s '( t process_decorator_args( R R R R ( ( R R R R s4 /usr/lib64/python2.7/site-packages/zmq/decorators.pyt __call__&