diff options
Diffstat (limited to 'loader/lib/parser.py')
-rw-r--r-- | loader/lib/parser.py | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/loader/lib/parser.py b/loader/lib/parser.py index c2598ba..6886723 100644 --- a/loader/lib/parser.py +++ b/loader/lib/parser.py @@ -19,6 +19,15 @@ class ArchivesParser(object): def parse(self, stream): self.msg = self.parser.parse(stream) + def is_msgid(self, msgid): + # Look for a specific messageid. This means we might parse it twice, + # but so be it. Any exception means we know it's not this one... + try: + if self.clean_messageid(self.decode_mime_header(self.get_mandatory('Message-ID'))) == msgid: + return True + except Exception, e: + return False + def analyze(self, date_override=None): self.msgid = self.clean_messageid(self.decode_mime_header(self.get_mandatory('Message-ID'))) self._from = self.decode_mime_header(self.get_mandatory('From')) |