summaryrefslogtreecommitdiff
path: root/loader/lib/parser.py
diff options
context:
space:
mode:
authorMagnus Hagander2012-07-06 15:20:04 +0000
committerMagnus Hagander2012-07-06 15:20:04 +0000
commit6a11290abfeb2295a58195310f75ef765c2007d8 (patch)
tree463e70c8b63933cc6db4edc053a3fddae84f79f6 /loader/lib/parser.py
parentd0bec5783b19b309892249875af20ae45dbc7299 (diff)
Support filtering a single email out of mbox/directory for reloading
Diffstat (limited to 'loader/lib/parser.py')
-rw-r--r--loader/lib/parser.py9
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'))