major fix to <rpc> element namespacing - was root of most problems!
[ncclient] / ncclient / transport / errors.py
1 # Copyright 2009 Shikhar Bhushan
2 #
3 # Licensed under the Apache License, Version 2.0 (the "License");
4 # you may not use this file except in compliance with the License.
5 # You may obtain a copy of the License at
6 #
7 #    http://www.apache.org/licenses/LICENSE-2.0
8 #
9 # Unless required by applicable law or agreed to in writing, software
10 # distributed under the License is distributed on an "AS IS" BASIS,
11 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 # See the License for the specific language governing permissions and
13 # limitations under the License.
14
15 from ncclient import NCClientError
16
17 class TransportError(NCClientError):
18     pass
19
20 class AuthenticationError(TransportError):
21     pass
22
23 class SessionCloseError(TransportError):
24
25     def __init__(self, in_buf, out_buf=None):
26         msg = 'Unexpected session close'
27         if in_buf:
28             msg += '\nIN_BUFFER: {%s}' % in_buf
29         if out_buf:
30             msg += ' OUT_BUFFER: {%s}' % out_buf
31         SSHError.__init__(self, msg)
32
33 class SSHError(TransportError):
34     pass
35
36 class SSHUnknownHostError(SSHError):
37
38     def __init__(self, host, fingerprint):
39         SSHError.__init__(self, 'Unknown host key [%s] for [%s]'
40                           % (fingerprint, host))
41         self.host = host
42         self.fingerprint = fingerprint