Piers' latest version, labeled 2.11. This time he integrated my

changes, and made only a few minor changes.  No changes of my own this
time.
This commit is contained in:
Guido van Rossum 1998-06-25 02:22:16 +00:00
parent 95e6f7089a
commit b1f0812be7
1 changed files with 15 additions and 19 deletions

View File

@ -1,3 +1,4 @@
"""IMAP4 client. """IMAP4 client.
Based on RFC 2060. Based on RFC 2060.
@ -13,10 +14,8 @@ Public functions: Internaldate2tuple
ParseFlags ParseFlags
Time2Internaldate Time2Internaldate
""" """
#
# $Header$ __version__ = "2.11"
#
__version__ = "$Revision$"
import binascii, re, socket, string, time, random import binascii, re, socket, string, time, random
@ -87,10 +86,10 @@ class IMAP4:
name (in lower-case). name (in lower-case).
All arguments to commands are converted to strings, except for All arguments to commands are converted to strings, except for
the last argument to APPEND which is passed as an IMAP4 AUTHENTICATE, and the last argument to APPEND which is passed as
literal. If necessary (the string contains white-space and an IMAP4 literal. If necessary (the string contains
isn't enclosed with either parentheses or double quotes) each white-space and isn't enclosed with either parentheses or
string is quoted. double quotes) each string is quoted.
Each command returns a tuple: (type, [data, ...]) where 'type' Each command returns a tuple: (type, [data, ...]) where 'type'
is usually 'OK' or 'NO', and 'data' is either the text from the is usually 'OK' or 'NO', and 'data' is either the text from the
@ -157,14 +156,13 @@ class IMAP4:
if __debug__ and self.debug >= 3: if __debug__ and self.debug >= 3:
print '\tCAPABILITIES: %s' % `self.capabilities` print '\tCAPABILITIES: %s' % `self.capabilities`
self.PROTOCOL_VERSION = None
for version in AllowedVersions: for version in AllowedVersions:
if not version in self.capabilities: if not version in self.capabilities:
continue continue
self.PROTOCOL_VERSION = version self.PROTOCOL_VERSION = version
break return
if not self.PROTOCOL_VERSION:
raise self.error('server not IMAP4 compliant') raise self.error('server not IMAP4 compliant')
def open(self, host, port): def open(self, host, port):
@ -915,15 +913,13 @@ if __debug__:
if __debug__ and __name__ == '__main__': if __debug__ and __name__ == '__main__':
host = '' import getpass, sys
import sys
if sys.argv[1:]: host = ''
host = sys.argv[1] if sys.argv[1:]: host = sys.argv[1]
import getpass
USER = getpass.getuser() USER = getpass.getuser()
PASSWD = getpass.getpass( PASSWD = getpass.getpass("IMAP password for %s: " % (host or "localhost"))
"IMAP password for %s: " % (host or "localhost"))
test_seq1 = ( test_seq1 = (
('login', (USER, PASSWD)), ('login', (USER, PASSWD)),