]> granicus.if.org Git - python/commitdiff
added code to canonicalise line endings in data sent via "append" - fix for bug repor...
authorPiers Lauder <piers@cs.su.oz.au>
Tue, 29 Apr 2003 23:40:59 +0000 (23:40 +0000)
committerPiers Lauder <piers@cs.su.oz.au>
Tue, 29 Apr 2003 23:40:59 +0000 (23:40 +0000)
Lib/imaplib.py

index 12c19a05a11595af36677c9afa904fc3ea6bf160..9f82e2b3a9cd0dbc6cb07ccace4ef04682df51d8 100644 (file)
@@ -83,6 +83,7 @@ InternalDate = re.compile(r'.*INTERNALDATE "'
         r' (?P<zonen>[-+])(?P<zoneh>[0-9][0-9])(?P<zonem>[0-9][0-9])'
         r'"')
 Literal = re.compile(r'.*{(?P<size>\d+)}$')
+MapCRLF = re.compile(r'(?:\r\n|\n|\r(?!\n))')
 Response_code = re.compile(r'\[(?P<type>[A-Z-]+)( (?P<data>[^\]]*))?\]')
 Untagged_response = re.compile(r'\* (?P<type>[A-Z-]+)( (?P<data>.*))?')
 Untagged_status = re.compile(r'\* (?P<data>\d+) (?P<type>[A-Z-]+)( (?P<data2>.*))?')
@@ -308,7 +309,7 @@ class IMAP4:
             date_time = Time2Internaldate(date_time)
         else:
             date_time = None
-        self.literal = message
+        self.literal = MapCRLF.sub(CRLF, message)
         return self._simple_command(name, mailbox, flags, date_time)
 
 
@@ -1360,7 +1361,7 @@ if __name__ == '__main__':
     USER = getpass.getuser()
     PASSWD = getpass.getpass("IMAP password for %s on %s: " % (USER, host or "localhost"))
 
-    test_mesg = 'From: %(user)s@localhost%(lf)sSubject: IMAP4 test%(lf)s%(lf)sdata...%(lf)s' % {'user':USER, 'lf':CRLF}
+    test_mesg = 'From: %(user)s@localhost%(lf)sSubject: IMAP4 test%(lf)s%(lf)sdata...%(lf)s' % {'user':USER, 'lf':'\n'}
     test_seq1 = (
     ('login', (USER, PASSWD)),
     ('create', ('/tmp/xxx 1',)),