diff options
| author | Mark Sapiro | 2017-06-30 11:54:27 -0700 |
|---|---|---|
| committer | Mark Sapiro | 2017-06-30 11:54:27 -0700 |
| commit | e92359323cda1fb118415c2ccb69679795e78465 (patch) | |
| tree | 4d545de85051a8fd43ff7c4bc084b04e5e39a7ec /src/mailman/handlers/subject_prefix.py | |
| parent | 5b7eeedd19ac69976b38aec1132b1f23d963938d (diff) | |
| download | mailman-e92359323cda1fb118415c2ccb69679795e78465.tar.gz mailman-e92359323cda1fb118415c2ccb69679795e78465.tar.zst mailman-e92359323cda1fb118415c2ccb69679795e78465.zip | |
Diffstat (limited to 'src/mailman/handlers/subject_prefix.py')
| -rw-r--r-- | src/mailman/handlers/subject_prefix.py | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/mailman/handlers/subject_prefix.py b/src/mailman/handlers/subject_prefix.py index 295ab039c..da971751e 100644 --- a/src/mailman/handlers/subject_prefix.py +++ b/src/mailman/handlers/subject_prefix.py @@ -69,7 +69,10 @@ def all_same_charset(mlist, msgdata, subject, prefix, prefix_pattern, ws): for chunk, charset in decode_header(subject.encode()): if charset is None: charset = 'us-ascii' - chunks.append(chunk.decode(charset)) + if isinstance(chunk, str): + chunks.append(chunk) + else: + chunks.append(chunk.decode(charset)) if charset != list_charset: return None subject_text = EMPTYSTRING.join(chunks) @@ -111,7 +114,10 @@ def mixed_charsets(mlist, msgdata, subject, prefix, prefix_pattern, ws): chunk_text, chunk_charset = chunks[0] if chunk_charset is None: chunk_charset = 'us-ascii' - first_text = chunk_text.decode(chunk_charset) + if isinstance(chunk_text, str): + first_text = chunk_text + else: + first_text = chunk_text.decode(chunk_charset) first_text = re.sub(prefix_pattern, '', first_text).lstrip() rematch = re.match(RE_PATTERN, first_text, re.I) if rematch: |
