From 30f6f98afd718daf7517b24cd9e85c218f482552 Mon Sep 17 00:00:00 2001 From: Jeff Forcier Date: Wed, 16 Apr 2014 15:51:01 -0400 Subject: [PATCH] Added self.args for exception classes. Used for unpickling Related to fabric/fabric#986 and fabric/fabric#714 Conflicts: sites/www/changelog.rst --- paramiko/ssh_exception.py | 12 +++++++++++- sites/www/changelog.rst | 4 ++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/paramiko/ssh_exception.py b/paramiko/ssh_exception.py index 63ca640..b99e42b 100644 --- a/paramiko/ssh_exception.py +++ b/paramiko/ssh_exception.py @@ -59,7 +59,9 @@ class BadAuthenticationType (AuthenticationException): def __init__(self, explanation, types): AuthenticationException.__init__(self, explanation) self.allowed_types = types - + # for unpickling + self.args = (explanation, types, ) + def __str__(self): return SSHException.__str__(self) + ' (allowed_types=%r)' % self.allowed_types @@ -73,6 +75,8 @@ class PartialAuthentication (AuthenticationException): def __init__(self, types): AuthenticationException.__init__(self, 'partial authentication') self.allowed_types = types + # for unpickling + self.args = (types, ) class ChannelException (SSHException): @@ -86,6 +90,8 @@ class ChannelException (SSHException): def __init__(self, code, text): SSHException.__init__(self, text) self.code = code + # for unpickling + self.args = (code, text, ) class BadHostKeyException (SSHException): @@ -103,6 +109,8 @@ class BadHostKeyException (SSHException): self.hostname = hostname self.key = got_key self.expected_key = expected_key + # for unpickling + self.args = (hostname, got_key, expected_key, ) class ProxyCommandFailure (SSHException): @@ -119,3 +127,5 @@ class ProxyCommandFailure (SSHException): ) ) self.error = error + # for unpickling + self.args = (command, error, ) diff --git a/sites/www/changelog.rst b/sites/www/changelog.rst index a7d9f93..b84f775 100644 --- a/sites/www/changelog.rst +++ b/sites/www/changelog.rst @@ -2,6 +2,10 @@ Changelog ========= +* :bug:`-` Added self.args for exception classes. Used for unpickling. Related + to (`Fabric #986 `_, `Fabric + #714 `_). Thanks to Alex + Plugaru. * :bug:`-` Fix logging error in sftp_client for filenames containing the '%' character. Thanks to Antoine Brenner. * :support:`284` Add Python language trove identifiers to ``setup.py``. Thanks