diff options
author | Magnus Hagander | 2012-07-05 14:05:54 +0000 |
---|---|---|
committer | Magnus Hagander | 2012-07-05 14:05:54 +0000 |
commit | 2f0ae8375ce8b7d2552053872acd75f02545a15a (patch) | |
tree | ea0107bb6bfaad7e9345f49c90151dcb85463ca9 /loader/lib/parser.py | |
parent | 7557e864976f43f67d719cad0b351da17c9dad4a (diff) |
Don't crash on non-multipart messages that appeaer to be multipart
Diffstat (limited to 'loader/lib/parser.py')
-rw-r--r-- | loader/lib/parser.py | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/loader/lib/parser.py b/loader/lib/parser.py index 8d85591..a72fa0c 100644 --- a/loader/lib/parser.py +++ b/loader/lib/parser.py @@ -165,7 +165,11 @@ class ArchivesParser(object): raise IgnorableException("Don't know how to read the body from %s" % self.msgid) def recursive_first_plaintext(self, container, html_instead=False): - for p in container.get_payload(): + pl = container.get_payload() + if isinstance(pl, str): + # This was not a multipart, but it leaked... Give up! + return None + for p in pl: if p.get_params() == None: # MIME multipart/mixed, but no MIME type on the part log.status("Found multipart/mixed in message '%s', but no MIME type on part. Trying text/plain." % self.msgid) |