]> granicus.if.org Git - python/commitdiff
make_header(): Watch out for charset is None, which decode_header()
authorBarry Warsaw <barry@python.org>
Tue, 23 Jul 2002 04:29:54 +0000 (04:29 +0000)
committerBarry Warsaw <barry@python.org>
Tue, 23 Jul 2002 04:29:54 +0000 (04:29 +0000)
will return as the charset if implicit us-ascii is used.

Lib/email/Header.py

index 5ad296838a95b4e3cc69856e3d36718bbcd85742..e691c3cb0e975ea3f27a1c70aaa2563bb8f505b7 100644 (file)
@@ -55,7 +55,6 @@ def decode_header(header):
     header = str(header)
     if not ecre.search(header):
         return [(header, None)]
-
     decoded = []
     dec = ''
     for line in header.splitlines():
@@ -63,7 +62,6 @@ def decode_header(header):
         if not ecre.search(line):
             decoded.append((line, None))
             continue
-
         parts = ecre.split(line)
         while parts:
             unenc = parts.pop(0).strip()
@@ -108,7 +106,8 @@ def make_header(decoded_seq, maxlinelen=None, header_name=None,
     h = Header(maxlinelen=maxlinelen, header_name=header_name,
                continuation_ws=continuation_ws)
     for s, charset in decoded_seq:
-        if not isinstance(charset, Charset):
+        # None means us-ascii but we can simply pass it on to h.append()
+        if charset is not None and not isinstance(charset, Charset):
             charset = Charset(charset)
         h.append(s, charset)
     return h