◐ Shell
clean mode source ↗

Message 74699 - Python tracker

Here is a patch proposition:
 - a socket uses bytes
 - makefile() creates an unicode file using 'r' mode
 - default encoding ISO-8859-1 because I guess that most servers use 
this encoding, but you can change the encoding using "encoding" 
constructor optioan argument
 - read unicode and write unicode: convert convert from/to bytes at 
the last moment (just after/before reading/writing the socket)
 - cosmetic: use .startswith() instead of for example b[:2] == '..'

Test updates:
 - replace "localhost" by HOST
 - write a test for a logging (user + password)

Missing: no SSL unit test. I tested SSL on my personal POP3 account, 
but only the login.