root / ncclient / session / error.py @ f5c75f88
History | View | Annotate | Download (1.7 kB)
1 | f5c75f88 | Shikhar Bhushan | # Copyright 2009 Shikhar Bhushan
|
---|---|---|---|
2 | f5c75f88 | Shikhar Bhushan | #
|
3 | f5c75f88 | Shikhar Bhushan | # Licensed under the Apache License, Version 2.0 (the "License");
|
4 | f5c75f88 | Shikhar Bhushan | # you may not use this file except in compliance with the License.
|
5 | f5c75f88 | Shikhar Bhushan | # You may obtain a copy of the License at
|
6 | f5c75f88 | Shikhar Bhushan | #
|
7 | f5c75f88 | Shikhar Bhushan | # http://www.apache.org/licenses/LICENSE-2.0
|
8 | f5c75f88 | Shikhar Bhushan | #
|
9 | f5c75f88 | Shikhar Bhushan | # Unless required by applicable law or agreed to in writing, software
|
10 | f5c75f88 | Shikhar Bhushan | # distributed under the License is distributed on an "AS IS" BASIS,
|
11 | f5c75f88 | Shikhar Bhushan | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12 | f5c75f88 | Shikhar Bhushan | # See the License for the specific language governing permissions and
|
13 | f5c75f88 | Shikhar Bhushan | # limitations under the License.
|
14 | f5c75f88 | Shikhar Bhushan | |
15 | f5c75f88 | Shikhar Bhushan | from ncclient import ClientError |
16 | f5c75f88 | Shikhar Bhushan | |
17 | f5c75f88 | Shikhar Bhushan | class SessionError(ClientError): |
18 | f5c75f88 | Shikhar Bhushan | pass
|
19 | f5c75f88 | Shikhar Bhushan | |
20 | f5c75f88 | Shikhar Bhushan | class RemoteClosedError(SessionError): |
21 | f5c75f88 | Shikhar Bhushan | |
22 | f5c75f88 | Shikhar Bhushan | def __init__(self, in_buf, out_buf=None): |
23 | f5c75f88 | Shikhar Bhushan | SessionError.__init__(self)
|
24 | f5c75f88 | Shikhar Bhushan | self._in_buf, self._out_buf = in_buf, out_buf |
25 | f5c75f88 | Shikhar Bhushan | |
26 | f5c75f88 | Shikhar Bhushan | def __str__(self): |
27 | f5c75f88 | Shikhar Bhushan | msg = 'Session closed by remote endpoint.'
|
28 | f5c75f88 | Shikhar Bhushan | if self._in_buf: |
29 | f5c75f88 | Shikhar Bhushan | msg += '\nIN_BUFFER: %s' % self._in_buf |
30 | f5c75f88 | Shikhar Bhushan | if self._out_buf: |
31 | f5c75f88 | Shikhar Bhushan | msg += '\nOUT_BUFFER: %s' % self._out_buf |
32 | f5c75f88 | Shikhar Bhushan | return msg
|
33 | f5c75f88 | Shikhar Bhushan | |
34 | f5c75f88 | Shikhar Bhushan | class AuthenticationError(SessionError): |
35 | f5c75f88 | Shikhar Bhushan | pass
|
36 | f5c75f88 | Shikhar Bhushan | |
37 | f5c75f88 | Shikhar Bhushan | class SSHError(SessionError): |
38 | f5c75f88 | Shikhar Bhushan | pass
|
39 | f5c75f88 | Shikhar Bhushan | |
40 | f5c75f88 | Shikhar Bhushan | class SSHUnknownHostError(SSHError): |
41 | f5c75f88 | Shikhar Bhushan | |
42 | f5c75f88 | Shikhar Bhushan | def __init__(self, hostname, key): |
43 | f5c75f88 | Shikhar Bhushan | self.hostname = hostname
|
44 | f5c75f88 | Shikhar Bhushan | self.key = key
|
45 | f5c75f88 | Shikhar Bhushan | |
46 | f5c75f88 | Shikhar Bhushan | def __str__(self): |
47 | f5c75f88 | Shikhar Bhushan | from binascii import hexlify |
48 | f5c75f88 | Shikhar Bhushan | return ('Unknown host key [%s] for [%s]' % |
49 | f5c75f88 | Shikhar Bhushan | (hexlify(self.key.get_fingerprint()), self.hostname)) |
50 | f5c75f88 | Shikhar Bhushan | |
51 | f5c75f88 | Shikhar Bhushan | class SSHAuthenticationError(AuthenticationError, SSHError): |
52 | f5c75f88 | Shikhar Bhushan | 'wraps a paramiko exception that occured during auth'
|
53 | f5c75f88 | Shikhar Bhushan | |
54 | f5c75f88 | Shikhar Bhushan | def __init__(self, ex): |
55 | f5c75f88 | Shikhar Bhushan | self.ex = ex
|
56 | f5c75f88 | Shikhar Bhushan | |
57 | f5c75f88 | Shikhar Bhushan | def __repr__(self): |
58 | f5c75f88 | Shikhar Bhushan | return repr(ex) |