as per discussion with antoine revert changes made in 83708 as the user useing ftplib's readline methods is supposed to always use a binary file
diff --git a/Lib/ftplib.py b/Lib/ftplib.py
index ada7475..b593fa1 100644
--- a/Lib/ftplib.py
+++ b/Lib/ftplib.py
@@ -493,15 +493,9 @@
while 1:
buf = fp.readline()
if not buf: break
- if isinstance(buf, str):
- if not buf.endswith(CRLF):
- if buf[-1] in CRLF: buf = buf[:-1]
- buf = buf + CRLF
- buf = bytes(buf, self.encoding)
- else:
- if not buf.endswith(B_CRLF):
- if buf[-1:] in B_CRLF: buf = buf[:-1]
- buf = buf + B_CRLF
+ if buf[-2:] != B_CRLF:
+ if buf[-1] in B_CRLF: buf = buf[:-1]
+ buf = buf + B_CRLF
conn.sendall(buf)
if callback: callback(buf)
conn.close()
@@ -777,15 +771,9 @@
while 1:
buf = fp.readline()
if not buf: break
- if isinstance(buf, str):
- if not buf.endswith(CRLF):
- if buf[-1] in CRLF: buf = buf[:-1]
- buf = buf + CRLF
- buf = bytes(buf, self.encoding)
- else:
- if not buf.endswith(B_CRLF):
- if buf[-1:] in B_CRLF: buf = buf[:-1]
- buf = buf + B_CRLF
+ if buf[-2:] != B_CRLF:
+ if buf[-1] in B_CRLF: buf = buf[:-1]
+ buf = buf + B_CRLF
conn.sendall(buf)
if callback: callback(buf)
# shutdown ssl layer
@@ -795,7 +783,6 @@
conn.close()
return self.voidresp()
-
__all__.append('FTP_TLS')
all_errors = (Error, IOError, EOFError, ssl.SSLError)