Revision 1d540e60 ncclient/operations/rpc.py
b/ncclient/operations/rpc.py | ||
---|---|---|
14 | 14 |
|
15 | 15 |
from threading import Event, Lock |
16 | 16 |
from uuid import uuid1 |
17 |
from weakref import WeakValueDictionary |
|
17 | 18 |
|
18 |
from ncclient.content import TreeBuilder, BASE_NS |
|
19 |
from ncclient.content import TreeBuilder |
|
20 |
from ncclient.content import qualify as _ |
|
21 |
from ncclient.content import unqualify as __ |
|
19 | 22 |
from ncclient.glue import Listener |
20 | 23 |
|
21 | 24 |
from . import logger |
... | ... | |
26 | 29 |
|
27 | 30 |
def __init__(self, session, async=False): |
28 | 31 |
self._session = session |
32 |
self._async = async |
|
29 | 33 |
self._id = uuid1().urn |
30 | 34 |
self._listener = RPCReplyListener(session) |
31 | 35 |
self._listener.register(self._id, self) |
... | ... | |
41 | 45 |
def _request(self, op): |
42 | 46 |
req = self._build(op) |
43 | 47 |
self._session.send(req) |
44 |
if async: |
|
48 |
if self._async:
|
|
45 | 49 |
self._reply_event.wait() |
46 | 50 |
self._reply.parse() |
47 | 51 |
return self._reply |
... | ... | |
74 | 78 |
def build_from_spec(msgid, opspec, encoding='utf-8'): |
75 | 79 |
"TODO: docstring" |
76 | 80 |
spec = { |
77 |
'tag': _('rpc', BASE_NS),
|
|
81 |
'tag': _('rpc'), |
|
78 | 82 |
'attributes': {'message-id': msgid}, |
79 | 83 |
'children': opspec |
80 | 84 |
} |
... | ... | |
132 | 136 |
def errback(self, err): |
133 | 137 |
logger.error('RPCReplyListener.errback: %r' % err) |
134 | 138 |
if self._errback is not None: |
135 |
self._errback(err) |
|
139 |
self._errback(err) |
Also available in: Unified diff