From 9ad2dec32a7cd9ba6c11969725e9512084d77e4a Mon Sep 17 00:00:00 2001 From: Jeff Forcier Date: Thu, 13 Mar 2014 21:52:34 -0700 Subject: [PATCH] Improve string type testing in Python 2.x versions --- paramiko/file.py | 2 +- paramiko/server.py | 2 +- paramiko/sftp_client.py | 2 +- sites/www/changelog.rst | 3 +++ 4 files changed, 6 insertions(+), 3 deletions(-) diff --git a/paramiko/file.py b/paramiko/file.py index 253ffcd..571ee6e 100644 --- a/paramiko/file.py +++ b/paramiko/file.py @@ -436,7 +436,7 @@ class BufferedFile (object): return if self.newlines is None: self.newlines = newline - elif (type(self.newlines) is str) and (self.newlines != newline): + elif isinstance(self.newlines, basestring) and (self.newlines != newline): self.newlines = (self.newlines, newline) elif newline not in self.newlines: self.newlines += (newline,) diff --git a/paramiko/server.py b/paramiko/server.py index c3f3a0c..738cad1 100644 --- a/paramiko/server.py +++ b/paramiko/server.py @@ -493,7 +493,7 @@ class InteractiveQuery (object): self.instructions = instructions self.prompts = [] for x in prompts: - if (type(x) is str) or (type(x) is unicode): + if isinstance(x, basestring): self.add_prompt(x) else: self.add_prompt(x[0], x[1]) diff --git a/paramiko/sftp_client.py b/paramiko/sftp_client.py index 0580bc4..13e830c 100644 --- a/paramiko/sftp_client.py +++ b/paramiko/sftp_client.py @@ -660,7 +660,7 @@ class SFTPClient(BaseSFTP): msg.add_int(item) elif isinstance(item, long): msg.add_int64(item) - elif isinstance(item, str): + elif isinstance(item, basestring): msg.add_string(item) elif isinstance(item, SFTPAttributes): item._pack(msg) diff --git a/sites/www/changelog.rst b/sites/www/changelog.rst index 9e04386..a4411c2 100644 --- a/sites/www/changelog.rst +++ b/sites/www/changelog.rst @@ -2,6 +2,9 @@ Changelog ========= +* :bug:`235` Improve string type testing in a handful of spots (e.g. ``s/if + type(x) is str/if isinstance(x, basestring)/g``.) Thanks to ``@ksamuel`` for + the report. * :release:`1.11.5 <2014-03-13>` * :release:`1.10.7 <2014-03-13>` * :support:`256 backported` Convert API documentation to Sphinx, yielding a new