Revision 9667bcb2 ncclient/operations/session.py
b/ncclient/operations/session.py | ||
---|---|---|
14 | 14 |
|
15 | 15 |
'Session-related NETCONF operations' |
16 | 16 |
|
17 |
from copy import deepcopy
|
|
17 |
from ncclient.xml_ import *
|
|
18 | 18 |
|
19 | 19 |
from rpc import RPC |
20 | 20 |
|
... | ... | |
22 | 22 |
|
23 | 23 |
"*<close-session>* RPC. The connection to NETCONF server is also closed." |
24 | 24 |
|
25 |
SPEC = { 'tag': 'close-session' } |
|
26 |
|
|
27 | 25 |
def request(self): |
28 | 26 |
try: |
29 |
return self._request(CloseSession.SPEC)
|
|
27 |
return self._request(new_ele("close-sesion"))
|
|
30 | 28 |
finally: |
31 | 29 |
self.session.close() |
32 | 30 |
|
... | ... | |
34 | 32 |
class KillSession(RPC): |
35 | 33 |
|
36 | 34 |
"*<kill-session>* RPC." |
37 |
|
|
38 |
SPEC = { |
|
39 |
'tag': 'kill-session', |
|
40 |
'subtree': [] |
|
41 |
} |
|
42 |
|
|
35 |
|
|
43 | 36 |
def request(self, session_id): |
44 | 37 |
""" |
45 | 38 |
:arg session_id: *session-id* of NETCONF session to kill |
... | ... | |
47 | 40 |
|
48 | 41 |
:seealso: :ref:`return` |
49 | 42 |
""" |
50 |
spec = deepcopy(KillSession.SPEC)
|
|
43 |
node = new_ele("kill-session")
|
|
51 | 44 |
if not isinstance(session_id, basestring): # make sure |
52 | 45 |
session_id = str(session_id) |
53 |
spec['subtree'].append({ |
|
54 |
'tag': 'session-id', |
|
55 |
'text': session_id |
|
56 |
}) |
|
57 |
return self._request(spec) |
|
46 |
sub_ele(node, "session-id").text = session_id |
|
47 |
return self._request(node) |
Also available in: Unified diff