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 bf11cda..bec08fc 100644 --- a/paramiko/server.py +++ b/paramiko/server.py @@ -514,7 +514,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 720d93a..eaf7444 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.12.3 <2014-03-13>` * :release:`1.11.5 <2014-03-13>` * :release:`1.10.7 <2014-03-13>`