summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPatrick Totzke <patricktotzke@gmail.com>2013-06-23 20:19:55 +0100
committerPatrick Totzke <patricktotzke@gmail.com>2013-07-07 18:04:49 +0100
commitda634fdcabb64a96efd8f9ac37afbcc0f7a92a5d (patch)
tree5dd9a79209ed64cb0e7fa8af49766983a6e3b5c9
parent7d42329f9104847e9d1559877fdbc00cb0a53c35 (diff)
raise exception when adding msg no non-indexable path
i.e., one not below that of notmuch's root path
-rw-r--r--alot/db/manager.py8
1 files changed, 8 insertions, 0 deletions
diff --git a/alot/db/manager.py b/alot/db/manager.py
index b3d31694..4cc216c6 100644
--- a/alot/db/manager.py
+++ b/alot/db/manager.py
@@ -21,6 +21,8 @@ from errors import DatabaseLockedError
from errors import DatabaseROError
from errors import NonexistantObjectError
from alot.db import DB_ENC
+from alot.db.utils import is_subdir_of
+
class FillPipeProcess(multiprocessing.Process):
@@ -135,6 +137,12 @@ class DBManager(object):
if cmd == 'add':
logging.debug('add')
path, tags = current_item[2:]
+ if not is_subdir_of(path,self.path):
+ msg = 'cannot add message in %s ' % path
+ msg += 'as it\'s not below notmuchs '
+ msg += 'root path (%s)' % self.path
+ raise DatabaseError(msg)
+
msg, status = db.add_message(path,
sync_maildir_flags=sync)
logging.debug('added msg')