Revision 41e2ed46 ncclient/operations/session.py
b/ncclient/operations/session.py | ||
---|---|---|
16 | 16 |
|
17 | 17 |
from rpc import RPC |
18 | 18 |
|
19 |
|
|
20 | 19 |
class CloseSession(RPC): |
21 | 20 |
|
21 |
'CloseSession is always synchronous' |
|
22 |
|
|
22 | 23 |
def __init__(self, *args, **kwds): |
23 | 24 |
RPC.__init__(self, *args, **kwds) |
24 | 25 |
self.spec = { 'tag': 'close-session' } |
25 | 26 |
|
26 |
def deliver(self, reply): |
|
27 |
RPC.deliver(self, reply) |
|
28 |
# can't be too huge, should be ok to parse in callback |
|
29 |
if self._reply.ok: # (implicitly parse) |
|
30 |
self._session.expect_close() |
|
31 |
self._session.close() |
|
27 |
def _delivery_hook(self): |
|
28 |
if self.reply.ok: |
|
29 |
self.session.expect_close() |
|
32 | 30 |
|
33 | 31 |
def request(self): |
34 |
self._request(self.spec) |
|
32 |
return self._request(self.spec)
|
|
35 | 33 |
|
36 | 34 |
|
37 | 35 |
class KillSession(RPC): |
... | ... | |
47 | 45 |
if not isinstance(session_id, basestring): # just make sure... |
48 | 46 |
session_id = str(session_id) |
49 | 47 |
self.spec['children'][0]['text'] = session_id |
50 |
self._request(self.spec) |
|
48 |
return self._request(self.spec) |
Also available in: Unified diff