Revision 9667bcb2 ncclient/operations/retrieve.py
b/ncclient/operations/retrieve.py | ||
---|---|---|
14 | 14 |
|
15 | 15 |
from rpc import RPC, RPCReply |
16 | 16 |
|
17 |
from ncclient import xml_ |
|
18 |
from copy import deepcopy |
|
17 |
from ncclient.xml_ import * |
|
19 | 18 |
|
20 | 19 |
import util |
21 | 20 |
|
... | ... | |
27 | 26 |
def _parsing_hook(self, root): |
28 | 27 |
self._data = None |
29 | 28 |
if not self._errors: |
30 |
self._data = xml_.find(root, 'data', nslist=xml_.NSLIST)
|
|
29 |
self._data = root.find(qualify("data"))
|
|
31 | 30 |
|
32 | 31 |
@property |
33 | 32 |
def data_ele(self): |
... | ... | |
41 | 40 |
"*<data>* element as an XML string" |
42 | 41 |
if not self._parsed: |
43 | 42 |
self.parse() |
44 |
return xml_.ele2xml(self._data) |
|
45 |
|
|
46 |
@property |
|
47 |
def data_dtree(self): |
|
48 |
"*<data>* element in :ref:`dtree`" |
|
49 |
return xml_.ele2dtree(self._data) |
|
50 |
|
|
43 |
return to_xml(self._data) |
|
44 |
|
|
51 | 45 |
#: Same as :attr:`data_ele` |
52 | 46 |
data = data_ele |
47 |
|
|
48 |
#def __repr__(self): |
|
49 |
# return self.data_xml |
|
53 | 50 |
|
54 | 51 |
|
55 | 52 |
class Get(RPC): |
56 | 53 |
|
57 | 54 |
"The *<get>* RPC" |
58 | 55 |
|
59 |
SPEC = {'tag': 'get', 'subtree': []} |
|
60 |
|
|
61 | 56 |
REPLY_CLS = GetReply |
62 | 57 |
|
63 | 58 |
def request(self, filter=None): |
... | ... | |
66 | 61 |
|
67 | 62 |
:seealso: :ref:`return` |
68 | 63 |
""" |
69 |
spec = deepcopy(Get.SPEC)
|
|
64 |
node = new_ele("get")
|
|
70 | 65 |
if filter is not None: |
71 |
spec['subtree'].append(util.build_filter(filter))
|
|
72 |
return self._request(spec)
|
|
66 |
node.append(util.build_filter(filter))
|
|
67 |
return self._request(node)
|
|
73 | 68 |
|
74 | 69 |
|
75 | 70 |
class GetConfig(RPC): |
76 | 71 |
|
77 | 72 |
"The *<get-config>* RPC" |
78 | 73 |
|
79 |
SPEC = {'tag': 'get-config', 'subtree': []} |
|
80 |
|
|
81 | 74 |
REPLY_CLS = GetReply |
82 | 75 |
|
83 | 76 |
def request(self, source, filter=None): |
... | ... | |
88 | 81 |
|
89 | 82 |
:seealso: :ref:`return` |
90 | 83 |
""" |
91 |
spec = deepcopy(GetConfig.SPEC)
|
|
92 |
spec['subtree'].append(util.store_or_url('source', source, self._assert))
|
|
84 |
node = new_ele("get-config")
|
|
85 |
node.append(util.datastore_or_url("source", source, self._assert))
|
|
93 | 86 |
if filter is not None: |
94 |
spec['subtree'].append(util.build_filter(filter))
|
|
95 |
return self._request(spec)
|
|
87 |
node.append(util.build_filter(filter))
|
|
88 |
return self._request(node)
|
Also available in: Unified diff