Revision 9667bcb2 ncclient/capabilities.py
b/ncclient/capabilities.py | ||
---|---|---|
12 | 12 |
# See the License for the specific language governing permissions and |
13 | 13 |
# limitations under the License. |
14 | 14 |
|
15 |
_capability_map = { |
|
16 |
'urn:liberouter:params:netconf:capability:power-control:1.0':
|
|
17 |
[':power-control', ':power-control:1.0']
|
|
18 |
} |
|
15 |
#_capability_map = {
|
|
16 |
# "urn:liberouter:params:netconf:capability:power-control:1.0":
|
|
17 |
# [":power-control", ":power-control:1.0"]
|
|
18 |
#}
|
|
19 | 19 |
|
20 | 20 |
def _abbreviate(uri): |
21 |
if uri.startswith('urn:ietf:params:netconf:'):
|
|
22 |
splitted = uri.split(':')
|
|
23 |
if ':capability:' in uri:
|
|
24 |
return [ ':' + splitted[5], ':' + splitted[5] + ':' + splitted[6] ]
|
|
25 |
elif ':base:' in uri:
|
|
26 |
return [ ':base', ':base' + ':'+ splitted[5] ]
|
|
27 |
elif uri in _capability_map: |
|
28 |
return _capability_map[uri] |
|
21 |
if uri.startswith("urn:ietf:params:netconf:"):
|
|
22 |
splitted = uri.split(":")
|
|
23 |
if ":capability:" in uri:
|
|
24 |
return [ ":" + splitted[5], ":" + splitted[5] + ":" + splitted[6] ]
|
|
25 |
elif ":base:" in uri:
|
|
26 |
return [ ":base", ":base" + ":" + splitted[5] ]
|
|
27 |
#elif uri in _capability_map:
|
|
28 |
# return _capability_map[uri]
|
|
29 | 29 |
return [] |
30 | 30 |
|
31 | 31 |
def schemes(url_uri): |
32 | 32 |
"""Given a URI that has a *scheme* query string (i.e. *:url* capability |
33 | 33 |
URI), will return a list of supported schemes. |
34 | 34 |
""" |
35 |
return url_uri.partition("?scheme=")[2].split(',')
|
|
35 |
return url_uri.partition("?scheme=")[2].split(",")
|
|
36 | 36 |
|
37 | 37 |
class Capabilities: |
38 | 38 |
|
... | ... | |
98 | 98 |
|
99 | 99 |
#: :class:`Capabilities` object representing the capabilities currently supported by NCClient |
100 | 100 |
CAPABILITIES = Capabilities([ |
101 |
'urn:ietf:params:netconf:base:1.0', |
|
102 |
'urn:ietf:params:netconf:capability:writable-running:1.0', |
|
103 |
'urn:ietf:params:netconf:capability:candidate:1.0', |
|
104 |
'urn:ietf:params:netconf:capability:confirmed-commit:1.0', |
|
105 |
'urn:ietf:params:netconf:capability:rollback-on-error:1.0', |
|
106 |
'urn:ietf:params:netconf:capability:startup:1.0', |
|
107 |
'urn:ietf:params:netconf:capability:url:1.0?scheme=http,ftp,file,https,sftp', |
|
108 |
'urn:ietf:params:netconf:capability:validate:1.0', |
|
109 |
'urn:ietf:params:netconf:capability:xpath:1.0', |
|
110 |
'urn:liberouter:params:netconf:capability:power-control:1.0' |
|
101 |
"urn:ietf:params:netconf:base:1.0", |
|
102 |
"urn:ietf:params:netconf:capability:writable-running:1.0", |
|
103 |
"urn:ietf:params:netconf:capability:candidate:1.0", |
|
104 |
"urn:ietf:params:netconf:capability:confirmed-commit:1.0", |
|
105 |
"urn:ietf:params:netconf:capability:rollback-on-error:1.0", |
|
106 |
"urn:ietf:params:netconf:capability:startup:1.0", |
|
107 |
"urn:ietf:params:netconf:capability:url:1.0?scheme=http,ftp,file,https,sftp", |
|
108 |
"urn:ietf:params:netconf:capability:validate:1.0", |
|
109 |
"urn:ietf:params:netconf:capability:xpath:1.0", |
|
110 |
"urn:liberouter:params:netconf:capability:power-control:1.0" |
|
111 |
"urn:ietf:params:netconf:capability:interleave:1.0" |
|
111 | 112 |
#'urn:ietf:params:netconf:capability:notification:1.0', # TODO |
112 |
#'urn:ietf:params:netconf:capability:interleave:1.0' # theoretically already supported |
|
113 |
|
|
113 | 114 |
]) |
Also available in: Unified diff