From 82c954e511ab02e0e9ae787ba9920013f04fb089 Mon Sep 17 00:00:00 2001 From: pazz Date: Sat, 18 Jun 2011 12:25:20 +0100 Subject: fix bug introduced with maildir sync upon msg open --- alot/db.py | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'alot/db.py') diff --git a/alot/db.py b/alot/db.py index 765ee986..1936b136 100644 --- a/alot/db.py +++ b/alot/db.py @@ -18,9 +18,10 @@ Copyright (C) 2011 Patrick Totzke """ from notmuch import Database from datetime import datetime -import logging import email +from settings import config + class DBManager: """ @@ -182,7 +183,6 @@ class Message: self.sender = msg.get_header('From') self.strrep = str(msg) self.email = None # will be read upon first use - self.filename = msg.get_filename() self.tags = set([str(tag) for tag in msg.get_tags()]) def __str__(self): @@ -197,7 +197,7 @@ class Message: def get_email(self): if not self.email: - self.email = self.read_mail(self.filename) + self.email = self.read_mail(self.get_filename()) return self.email def read_mail(self, filename): @@ -216,17 +216,19 @@ class Message: for tag in tags: msg.add_tag(tag) self.tags.add(tag) - logging.debug('tag %s' % tags) msg.thaw() def remove_tags(self, tags): msg = self.dbman.find_message(self.mid, writeable=True) msg.freeze() for tag in tags: - msg.remove_tag(tag) try: self.tags.remove(tag) + msg.remove_tag(tag) except KeyError: pass # tag not in self.tags - logging.debug('untag %s' % tags) msg.thaw() + + def get_filename(self): + m = self.dbman.find_message(self.mid) + return m.get_filename() -- cgit v1.2.3