Revision efed7d4c ncclient/operations/session.py
b/ncclient/operations/session.py | ||
---|---|---|
14 | 14 |
|
15 | 15 |
'Session-related NETCONF operations' |
16 | 16 |
|
17 |
from ncclient.content.parsers import RPCParser |
|
18 |
from rpc import RPC |
|
19 |
|
|
20 |
|
|
17 | 21 |
class CloseSession(RPC): |
18 |
pass |
|
22 |
|
|
23 |
def __init__(self): |
|
24 |
RPC.__init__(self) |
|
25 |
self.spec = { 'tag': 'close-session' } |
|
26 |
|
|
27 |
def _response_cb(self, reply): |
|
28 |
RPC._response_cb(self, reply) |
|
29 |
if RPCParser.parse_ok(reply): |
|
30 |
self._listener.expect_close() |
|
31 |
self._session.close() |
|
32 |
|
|
33 |
def request(self, *args, **kwds): |
|
34 |
self._do_request(spec, *args, **kwds) |
|
35 |
|
|
19 | 36 |
|
20 | 37 |
class KillSession(RPC): |
21 |
pass |
|
38 |
|
|
39 |
def __init__(self): |
|
40 |
RPC.__init__(self) |
|
41 |
self.spec = { |
|
42 |
'tag': 'kill-session', |
|
43 |
'children': [ { 'tag': 'session-id', 'text': None} ] |
|
44 |
} |
|
45 |
|
|
46 |
def request(self, session_id, reply_event=None): |
|
47 |
if not isinstance(session_id, basestring): # just make sure... |
|
48 |
session_id = str(session_id) |
|
49 |
self.spec['children'][0]['text'] = session_id |
|
50 |
self._do_request(self.spec, reply_event) |
Also available in: Unified diff