/usr/lib/python3/dist-packages/twisted/spread/__pycache__
Edit: /usr/lib/python3/dist-packages/twisted/spread/__pycache__/util.cpython-310.pyc (8081B)
o
b @ s d Z ddlmZ ddlmZmZ ddlmZ ddlm Z ddl
mZ G dd dZG d d
d
Z
G dd dZG d
d dZG dd deZeejG dd deZG dd dejZdd ZdS )z
Utility classes for spread.
)implementer)defer
interfaces)basic)Failure)pbc @ s e Zd Zdd Zdd ZdS )LocalMethodc C s || _ || _d S N)localname)selfr
r r
5/usr/lib/python3/dist-packages/twisted/spread/util.py__init__
zLocalMethod.__init__c O s | j j| jg|R i |S r )r
callRemoter )r argskwr
r
r __call__ s zLocalMethod.__call__N)__name__
__module____qualname__r r r
r
r
r r s r c @ s$ e Zd ZdZdZdd Zdd ZdS )
LocalAsRemotezN
A class useful for emulating the effects of remote behavior locally.
c O s| t | d| rt| d| |i |S zt| d| }t||i |W S ty= t }| jr6| t| Y S w )ax
Call a specially-designated local method.
self.callRemote('x') will first try to invoke a method named
sync_x and return its result (which should probably be a
Deferred). Second, it will look for a method called async_x,
which will be called and then have its result (or Failure)
automatically wrapped in a Deferred.
sync_async_) hasattrgetattrr succeed
BaseExceptionr reportAllTracebacksprintTracebackfail)r r r r methodfr
r
r r # s
zLocalAsRemote.callRemotec C s
t | |S r )r )r r r
r
r remoteMethod8
zLocalAsRemote.remoteMethodN)r r r __doc__r r r% r
r
r
r r s
r c @ s* e Zd ZdZd
ddZdd Zdd Zd S )LocalAsyncForwarderzD
A class useful for forwarding a locally-defined interface.
r c C s$ | |sJ || _|| _|| _d S r )
providedBy forwardedinterfaceClassfailWhenNotImplemented)r r* r+ r, r
r
r r A s
zLocalAsyncForwarder.__init__c O s t | j||i |S r )r r* )r r# r r r
r
r _callMethodG s zLocalAsyncForwarder._callMethodc O sP | j |rtj| j|g|R i |}|S | jr#tttd| S t d S )NzNo Such Method in Interface: %s)
r+ queryDescriptionForr
maybeDeferredr- r, r" r NotImplementedErrorr )r r# r r resultr
r
r r J s
zLocalAsyncForwarder.callRemoteN)r )r r r r' r r- r r
r
r
r r( <